Mesas RADV Radeon Vulkan-Treiber hat die Unterstützung für VK_EXT_fragment_shader_interlock integriert, eine bei Spiele-Emulatoren sehr gefragte Erweiterung, die auch für Layering-Bemühungen von DirectX über Vulkan und mehr wichtig ist.

Anfang April wurde ein Fragment-Shader-Interlock-Merge-Antrag für die Implementierung dieser Erweiterung im Open-Source-Radeon-Treibercode gestellt. Nach einigen Verfeinerungen in den letzten Monaten wurde der Code heute Ende Juni für Mesa 23.2-devel zusammengeführt.

Die Erweiterung VK_EXT_fragment_shader_interlock wird von Spielemulatoren wie Nintendo Switch Ryujinx, Play! verwendet. PlayStation 2-Emulator, Vita3K PlayStation Vita-Emulator und Xenia Xbox 360-Emulator. Die Fragment-Shader-Interlock-Unterstützung wird auch von Spielen wie GRID 2, Just Cause 3, Super Mario Party und anderen genutzt. Dies ist auch bei VKD3D für die Werbung für die Unterstützung von DirectX 12 Feature Level 12_1 erforderlich. DXVK kann diese Erweiterung ebenso nutzen wie der Zink OpenGL-on-Vulkan-Code.

Die Verwendung dieser Erweiterung kann verhindern, dass überlappende Pixel gleichzeitig verarbeitet werden, und bietet außerdem Garantien für die Reihenfolge von Fragment-Shader-Aufrufen von Fragmenten mit überlappenden Pixeln. AMD bezeichnet die Funktionalität allgemein als Primitive Ordered Pixel Shading (POPS). Diese Funktionalität ist mittlerweile eine seit langem bestehende Anfrage für den offiziellen AMD Vulkan-Treiber AMDVLK.


Weitere Details zu diesem RADV-Fragment Shader-Interlock-Unterstützung über diese Zusammenführungsanforderung ist jetzt Teil von Mesa 23.2. Diese Arbeit wurde vom Entwickler „Triang3l“ durchgeführt, der neben der Arbeit an der Xbox 360-Emulation auch den Vulkan-Treiber „Terakan“ für die Radeon HD 6000-Serie entwickelt hat, wenn auch noch in einem extrem frühen Entwicklungsstadium.

Categories: IT Info