Skip to content

i915g: Add gallium API for throwing GLSL link fails, and fail non-unrollable loops.

Emma Anholt requested to merge anholt/mesa:st-glsl-link-fail into main
i915 has no support for control flow, so we need to link-fail shaders that
fail to unrooll loops.  This is valid for GLES2, and non-conformant but
the best we can do for GL2.

Note that we still have some dEQP failures where loops that should be
unrollable and thus are required to be supported don't get unrolled
(#4979).

Closes: #4978

Putting the return in finalize_nir feels a little off, since finalize can happen at other times than just link time and for those we throw away any driver complaints. But we need to do the link check right after the optimization that happens in finalize, so it felt silly to add a separate optional hook at the same spot.

Depends on !12175 (merged)

Merge request reports