Fragment Shader Interlock Performance on the Steam Deck
This is an update of the article "Fragment Shader Interlock Performance (α Compositing)", where I previously had a look at the performance of a GPU feature called fragment shader interlock for alpha composition. In this article, I said:
I would love to also test whether fragment shader interlock also comes out as the performance winner on AMD hardware, but unfortunately AMD does not support the fragment shader interlock extension for OpenGL and Vulkan at the moment. On DirectX, AMD supports ROVs, but I'm not very inclined to invest the time to port my program to Direct3D at the moment, but that could change in the future.
The support for VK_EXT_fragment_shader_interlock
has recently been added to the Mesa RADV Vulkan driver. Unfortunately, the only device with an AMD GPU I have access to that also runs Linux is the Steam Deck by Valve, which runs a GPU with the codename "Van Gogh" based on the RDNA 2.0 architecture. Below, the Steam Deck results can be seen for the same tests as performed in the previous article on an NVIDIA RTX 2070 SUPER.
While these results look very promising, they should be taken with a grain of salt. The Steam Deck has a low-power GPU trimmed for high battery life, and the synchronization needed for fragment shader interlock is likely not the bottleneck here. I would like to repeat these tests in the future on a more powerful GPU by AMD. I would potentially have remote access to a PC with a Radeon RX 6900 XT, but this PC currently only runs Windows, where fragment shader interlock is unfortunately not yet supported.