Drivers 2927 Published by

AMD has updated their Linux Open Source Driver for Vulkan.



The AMD Open Source Driver for Vulkan:registered: is an open-source Vulkan driver for Radeon:tm: graphics adapters on Linux:registered:. It is built on top of AMD's Platform Abstraction Library (PAL), a shared component that is designed to encapsulate certain hardware and OS-specific programming details for many of AMD's 3D and compute drivers. Leveraging PAL can help provide a consistent experience across platforms, including support for recently released GPUs and compatibility with AMD developer tools.

Shaders that compose a particular VkPipeline object are compiled as a single entity using the LLVM-Based Pipeline Compiler (LLPC) library. LLPC builds on LLVM's existing shader compilation infrastructure for AMD GPUs to generate code objects compatible with PAL's pipeline ABI. Notably, AMD's closed-source Vulkan driver currently uses a different pipeline compiler, which is the major difference between AMD's open-source and closed-source Vulkan drivers.

Product Support

The AMD Open Source Driver for Vulkan is designed to support the following AMD GPUs:

Radeon:tm: HD 7000 Series
Radeon:tm: HD 8000M Series
Radeon:tm: R5/R7/R9 200/300 Series
Radeon:tm: RX 400/500 Series
Radeon:tm: M200/M300/M400 Series
Radeon:tm: RX Vega Series
Radeon:tm: RX 5700 Series
AMD FirePro:tm: Workstation Wx000/Wx100/Wx300 Series
Radeon:tm: Pro WX x100 Series
Radeon:tm: Pro 400/500 Series

Operating System Support

The AMD Open Source Driver for Vulkan is designed to support following distros on both the AMDGPU upstream driver stack and the AMDGPU Pro driver stack:

Ubuntu 18.04 (64-bit version)
Ubuntu 16.04.4 (64-bit version)
RedHat 7.5 (64-bit version)
The driver has not been tested on other distros. You may try it out on other distros of your choice.

Note: To run the Vulkan driver with AMDGPU upstream driver stack on SI and CI generation GPUs, amdgpu.si_support and amdgpu.cik_support need to be enabled in kernel

New feature and improvement

Update api version to 1.2.131
Disable VK_IMAGE_CREATE_SPARSE_BINDING_BIT for images with YUV format
Support barrier for streamout buffer
Add a new type FmaskOnly for Image MetadataMode which makes color msaa Image only have Cmask/Fmask metadata
Avoid issue TCC metadata cache invalidation for image without metadata
Allow compressed copySrc layout for color msaa image that supports MetaDataTexFetch
Add wave32 support for indirect command generator dispatches
Disable DCC on mipmap array resource by default and adjust the UseDCC validation logic

Issue fix

Vk GPA extension not returning correct return code
Clearing 3D image views (created from 3D PRT images) via clear load ops does not work as expected
Image corruption during memory defrag copy (Corrupt non power of 2 textures)
Random failure with XFBCaptureAndVerifyOnHost test cases when using vkDrawIndirectByteCountEXT() draw calls
A minor logic error causing a whole bunch of extra updates to DCC state metadata inside PAL barriers
A bug of DCC constant encoding
CTS 1.2 api.image_clearing..clear_depth_stencil_ random failures on Linux for asics before gfx10

Download