mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
r300: lower undefs to zero
They will get translated to read from random register otherwise, which is not problematic per se, but they will not be regalloced and if the initial register index was too high, we can fail the shader compilation because we think we run out of registers. Almost no effect with shader-db on RV530: total instructions in shared programs: 130707 -> 130705 (<.01%) instructions in affected programs: 1012 -> 1010 (-0.20%) helped: 2 HURT: 1 Reviewed-by: Filip Gawin <filip.gawin@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23927>
This commit is contained in:
parent
ba83c1e254
commit
0bf6dcb785
1 changed files with 2 additions and 0 deletions
|
|
@ -96,6 +96,8 @@ r300_optimize_nir(struct nir_shader *s, struct pipe_screen *screen)
|
|||
NIR_PASS(progress, s, nir_opt_trivial_continues);
|
||||
NIR_PASS(progress, s, nir_opt_vectorize, r300_should_vectorize_instr, NULL);
|
||||
NIR_PASS(progress, s, nir_opt_undef);
|
||||
if(!progress)
|
||||
NIR_PASS(progress, s, nir_lower_undef_to_zero);
|
||||
NIR_PASS(progress, s, nir_opt_loop_unroll);
|
||||
|
||||
/* Try to fold addressing math into ubo_vec4's base to avoid load_consts
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue