RADV Sees Experimental Fragment Shader Interlock - Important For Emulators, D3D12

Written by Michael Larabel in Radeon on 4 April 2023 at 06:42 AM EDT. 22 Comments
A currently-testing implementation of VK_EXT_fragment_shader_interlock has been published for Mesa's Radeon Vulkan "RADV" driver. This Vulkan fragment shader interlock support is used by some game emulators as well as being useful in running Direct3D 12 atop Vulkan and similar purposes.

VK_EXT_fragment_shader_interlock allows for fragment shaders to avoid overlapping pixels being processed at the same time and enforcing some guarantees around the ordering of fragment shader invocations of fragments of overlapping pixels. Basically some guarantees around the ordering and accessing of same per-pixel data. This RADV fragment shader interlock support was started by "Triang3l", a developer also working on the Xenia Xbox 360 game emulator.

RADV: VK_EXT_fragment_shader_interlock

This RADV fragment shader interlock support is considered fully-functional but some open questions remain for AMD and/or RADV developers. This fragment shader interlock support should be useful for other game emulators too and D3D12 FL 12_1.

This extension can also be used by DXVK, the Ryujinx Nintendo Switch emulator, the Play! PS2 emulator, Xenia Xbox 360 emulator, and more.

This fragment shader interlock support for RADV currently comes in at 31 patches and is presently under review with this merge request. There still are open items to be discussed and the work may be broken down into smaller merge requests, but at least it looks like a RADV fragment shader interlock implementation will be coming to RADV soon. Though with Mesa 23.1 branching soon, this extension might not be ready until next quarter's release cycle.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week