Skip to content

gpu: Fix shadows some more

Benjamin Otte requested to merge wip/otte/for-main into main

It turns out the "step" variable could up as 0 when p.y ~= 3.0 || p.y ~= r.y - 3.0 That was not enough to trigger it though because if "start" and "end" were the same value, the "y <= end" check in the loop would immediately terminate it.

However, if start + epsilon == end so that end != start but (end - start) / 7 == 0, then step would end up as 0 and the loop would never terminate.

And if that happened, it would bring down GPUs. So recode this whole machinery to make it impossible to infloop.

Fixes #6896 (closed)

Merge request reports

Loading