HansKristian-Work / dxil-spirv

DXIL conversion to SPIR-V for D3D12 translation libraries
Other
166 stars 32 forks source link

Quad control / Reconvergence #185

Closed doitsujin closed 9 months ago

doitsujin commented 9 months ago

Maps [WaveOpsIncludeHelperLanes] to maximal reconvergence, and also turns it on for the new QuadAny/QuadAll instructions where we explicitly have to opt into helper invocations. This basically matches how DXC maps these constructs to SPIR-V as well.

Obvious caveat here is that control flow based on other quad operations is more or less undefined still, not sure what we want to do there.

Also comes with the option to force-enable maximal reconvergence for a shader, which might be useful for debugging or to work around shaders being miscompiled in weird ways.