Hi there can I please request driver support for VK_EXT_fragment_shader_interlock. Vega has the capability under DirectX (rasterizer ordered views), however the feature is missing under Vulkan and OpenGL 4.6 core (GL_ARB_fragment_shader_interlock)
I hope so. This extension has very wide industry support but the list of contributors makes one feel a little angsty:
Daniel Koch, NVIDIA
Graeme Leese, Broadcom
Jan-Harald Fredriksen, Arm
Jason Ekstrand, Intel
Jeff Bolz, NVIDIA
Ruihao Zhang, Qualcomm
Slawomir Grajewski, Intel
Spencer Fricke, Samsung
AMD are the only ones missing. So many interesting algorithms are possible - especially with the unordered variant: OIT, Voxels etc and the critical section approach is much more flexible than DX. UINT-only scalar atomics are clunky and useless and having to resort to spin-locks is going to make AMD hardware look bad if everyone else is using this extension.
yea im concerned because this is a big deal for some Emu devs and seeing as i just got this card in 2017 im a bit miffed im lacking a feature Intel and Nvidia have had for years now.
I want the extension for voxel GI personally. onsolight knows more about emulators than me, but I did come across this discussion with Gregory, the dev of pcsx2 via the issue requesting this extension at khronos github:
they discuss it at length. some excerpts:
"On Vulkan topic. Yes Vulkan is nice but it misses modern feature, called either rov or shader interlock. This feature is a requirement to emulate some gsdx effect. Without it, the API is just useless for us ! "
"As linked above, ARB_fragment_shader_interlock is everywhere be it in its official form or its NV_fragment_shader_interlock/INTEL_fragment_shader_ordering predecessors.
There's no "if" wonder (performance aside, but we all know who's the felon there...No, even if win-amd was half the market the manpower required to reinvent the[ir broken] wheel would still be unjustified. Let alone if the fix/alternative for the time being has hard downsides that would affect every single body."
Redream (Sega Dreamcast Emulator) uses the OpenGL extension as it helps with Order independent transparency but the Vulkan extension is required to use a Vulkan Backend when its implemented. PCSX2 will require both in the near future as it will help with GSDX effects and make the code less complex. Xenia an XBox 360 Emulator will make use of it soon but i dont keep up with that project much
That's a shame, but if AMD won't implement it, then developers won't use it on Nvidia or Intel either. The slow kids hold up the entire class. Individual vendors can write great extensions until they're blue in the face, but if other vendors won't follow suit, unless you're developing proprietary in-house software, it's a waste of time and everybody loses. If Khronos makes something core and a vendor chooses not to implement, then that vendor should lose the right to call their products compatible. I can't understand how it can work with DX12 but not Vulkan. I'm still trying to wrap my head around the vague response about it messing up subpasses. It all happens within one subpass. It doesn't mess up Nvidia's subpasses.