È stata pubblicata un’implementazione attualmente in fase di test di VK_EXT_fragment_shader_interlock per il driver Radeon Vulkan”RADV”di Mesa. Questo supporto per l’interblocco dello shader del frammento Vulkan viene utilizzato da alcuni emulatori di giochi oltre ad essere utile nell’esecuzione di Direct3D 12 su Vulkan e scopi simili.
VK_EXT_fragment_shader_interlock consente agli shader di frammenti di evitare che i pixel sovrapposti vengano elaborati contemporaneamente e di applicare alcune garanzie sull’ordine delle invocazioni di shader di frammenti di frammenti di pixel sovrapposti. Fondamentalmente alcune garanzie sull’ordinamento e l’accesso agli stessi dati per pixel. Questo supporto per l’interblocco dello shader del frammento RADV è stato avviato da”Triang3l”, uno sviluppatore che lavora anche sull’emulatore di gioco Xenia Xbox 360.
Questo supporto per l’interblocco dello shader del frammento RADV è considerato completamente funzionante, ma rimangono alcune domande aperte per gli sviluppatori AMD e/o RADV. Questo supporto per l’interblocco dello shader di frammenti dovrebbe essere utile anche per altri emulatori di giochi e D3D12 FL 12_1.
Questa estensione può essere utilizzata anche da DXVK, l’emulatore Ryujinx per Nintendo Switch, Play! Emulatore PS2, emulatore Xenia Xbox 360 e altro.
Questo supporto di frammento shader interlock per RADV è attualmente disponibile a 31 patch ed è attualmente in fase di revisione con questa richiesta di unione. Ci sono ancora elementi aperti da discutere e il lavoro potrebbe essere suddiviso in richieste di unione più piccole, ma almeno sembra che un’implementazione dell’interblocco dello shader del frammento RADV arriverà presto su RADV. Anche se con la ramificazione di Mesa 23.1 a breve, questa estensione potrebbe non essere pronta fino al ciclo di rilascio del prossimo trimestre.