Skip to content

Draft: radv/rt: Fix raytracing on gfx6

Friedrich Vock requested to merge pixelcluster/mesa:gfx6-encode-fix into main

Unaligned indirect dispatches are broken - they dispatch (x, y, z) workgroups, not threads. This leads to out-of-range invocations that overflow the reversed indexing logic and cause hangs.

Fix the hangs by guarding the shader with an early-return if the invocation is out of range.
Dispatching 64x the necessary work is also inefficient, so switch to direct unaligned dispatches that dispatch the worst-case internal node count, which is hopefully less than 64x the actual count.

Draft because I'd like to know if gfx7 is also affected, in which case it should be included in the second workaround.

Merge request reports

Loading