Skip to content

shader: do not redeclare built-ins as precise

In 47387e40 (emit precise keyword), I added code to try to declare outputs as 'precise' if an instruction flagged as precise wrote to it.

Turns out, redeclaring built-ins as 'precise' isn't allowed, so that bit was a mistake. And because mesa transforms "invariant" into instructions with the precise-flag set, we can end up writing to built-ins with the precise-flag, leading to shaders that doesn't compile correctly.

So let's remove the code that emits the precise-keyword when re-declaring built-ins.

This fixes a regression in dEQP-GLES2.functional.shaders.algorithm.hsl_to_rgb_vertex when ran right after dEQP-GLES2.functional.shaders.invariance.highp.subexpression_precision_lowp.

Signed-off-by: Erik Faye-Lund erik.faye-lund@collabora.com

Merge request reports