Last week, the AMD team released v-2019.Q1.2 version of AMD Open Source for Vulkan (AMDVLK). This release comes with fairly small updates including a DXVK fix, one new Vulkan extension, and some more updates.
What’s new in v-2019.Q1.2
- The XGL code exposes YUV planes directly to allow applications to implement their own color conversion.
- Symbols are now not included when building the driver in its release confirmation, which could help with performance.
- The default WgpMode is updated from wgp to cu
- The performance regression introduced by the updates that added support for the LOAD_INDEX path for handling pipeline binds is now fixed.
The following diagram shows its architecture:
AMD open-sourced AMDVLK in 2017, which was earlier the part of AMDGPU-PRO driver. It is a Vulkan driver for Radeon graphics adapters on Linux and is built on top of AMD’s Platform Abstraction Library (PAL). PAL provides hardware and OS abstractions for Radeon (GCN+) user-mode 3D graphics drivers. It also provides users with a consistent experience across platforms, including support for recently released GPUs and compatibility with AMD developer tools.
As PAL does not come with a shader compiler, clients are expected to use an external compiler library that targets PAL’s Pipeline ABI to produce compatible shader binaries. Shaders compile a VkPipeline object as a single entity by shaders using the LLVM-Based Pipeline Compiler (LLPC) library. LLPC is built on the existing shader compilation infrastructure of LLVM for AMD GPUs to generate code objects that are compatible with PAL’s pipeline ABI.
To know more in detail about AMDVLK, you can check out its GitHub repository.