lima: lower all undefs to zero in vs

Otherwise we will later hit:

gpir_error("nir_ssa_undef_instr is not supported\n");

Unfortunatly this causes a piglit failure due to increased register
pressure in an unrealistic shader but since not doing this can
result in hitting the not supported error in more relistic shaders
this seems the right thing to do for now.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366>
This commit is contained in:
Timothy Arceri
2022-05-18 15:32:09 +10:00
committed by Marge Bot
parent 57dee95b85
commit 53df6dfb5b
2 changed files with 2 additions and 0 deletions
@@ -388,6 +388,7 @@ spec@glsl-1.10@execution@samplers@glsl-fs-shadow2d-clamp-z,Fail
spec@glsl-1.10@execution@samplers@glsl-fs-shadow2d,Fail
spec@glsl-1.10@execution@samplers@glsl-fs-shadow2dproj-bias,Fail
spec@glsl-1.10@execution@samplers@glsl-fs-shadow2dproj,Fail
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-giant-temp-array,Fail
spec@glsl-1.10@execution@variable-indexing@fs-temp-array-mat2-col-row-wr,Fail
spec@glsl-1.10@execution@variable-indexing@fs-temp-array-mat2-col-wr,Fail
spec@glsl-1.10@execution@variable-indexing@fs-temp-array-mat2-index-col-row-wr,Fail
+1
View File
@@ -138,6 +138,7 @@ lima_program_optimize_vs_nir(struct nir_shader *s)
NIR_PASS(progress, s, nir_opt_constant_folding);
NIR_PASS(progress, s, nir_opt_undef);
NIR_PASS(progress, s, nir_opt_loop_unroll);
NIR_PASS(progress, s, nir_lower_undef_to_zero);
} while (progress);
NIR_PASS_V(s, nir_lower_int_to_float);