使用 Vulkan® 设备内存
本文档旨在指导您如何最好地使用 AMD 驱动程序上 Vulkan 公开的各种内存堆和内存类型,并从一些高级技巧开始。
AMD Vulkan® 开源驱动是专为 Linux® 上的 AMD Radeon™ 图形适配器设计的开源 Vulkan 驱动程序。

该驱动程序建立在 AMD 的平台抽象库 (PAL) 之上,PAL 是一个共享组件,旨在封装 AMD 许多 3D 和计算驱动程序的特定硬件和操作系统编程细节。利用 PAL 有助于在不同平台之间提供一致的体验,包括支持最近发布的 GPU 以及与 AMD 开发者工具的兼容性。
构成特定 VkPipeline 对象的着色器使用基于 LLVM 的管道编译器 (LLPC) 库进行编译,作为一个整体。LLPC 构建在 LLVM 现有的 AMD GPU 着色器编译基础设施之上,以生成与 PAL 的管道 ABI 兼容的代码对象。
AMD Vulkan® 开源驱动旨在支持广泛的 AMD GPU
注意:对于 Polaris 之前的 GPU 和 Raven 之前的 GPU,请使用 v-2021.Q2.5 或更早的版本。
AMD Vulkan® 开源驱动旨在支持 AMDGPU 上游驱动程序堆栈和 AMDGPU Pro 驱动程序堆栈上的以下发行版和版本:
该驱动程序在其他发行版和版本上的测试不充分。您可以自行尝试在其他发行版和版本上使用。
以下功能和改进计划在未来的版本中推出(请参考 发行说明 查看每个版本的更新)
欢迎您向 AMD Vulkan® 开源驱动提交代码贡献。
该驱动程序由以下四个存储库的源代码构建:LLVM、LLPC、XGL 和 PAL。
对于 LLVM 的更改,您应将贡献提交到 LLVM trunk。那里的提交将被评估并定期合并到 amd-gfx-gpuopen-master 分支。
对于 XGL 或 PAL 的更改,请针对 dev 分支 创建拉取请求。在您的更改经过审查并被接受后,它将被评估并在后续的常规推广中合并到 master 分支。
重要提示
通过创建拉取请求,您同意根据 MIT 许可条款允许项目所有者使用您的贡献。
在为 XGL 和 PAL 做贡献时,您的代码应
请使每项贡献合理地小。如果您想进行一项大的贡献,例如新功能或扩展,请先提交一个 issue,以便规划评估和审查您的工作。
重要提示
由于 PAL 是一个必须支持其他 API、其他操作系统和预生产硬件的共享组件,您可能会被要求修改您的 PAL 更改,原因可能与纯 Linux Vulkan 驱动程序的角度不同。
有关更多信息,包括 Ubuntu 和 RedHat Linux 的详细构建说明、安装说明、如何运行您的新驱动程序、运行时设置自定义以及 PAL 层内置的性能分析功能,请前往 GitHub 查看 AMDVLK 存储库中的 README.md。