Module: Mesa Branch: master Commit: 1d23a88c6eb7502ea38e3e9d1a28b7df49c78e29 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d23a88c6eb7502ea38e3e9d1a28b7df49c78e29
Author: Mike Blumenkrantz <[email protected]> Date: Thu Sep 3 10:25:24 2020 -0400 nir/clip_disable: write 0s instead of undefs for disabled clip planes this should yield more reliable and ideally even correct results Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6563> --- src/compiler/nir/nir_lower_clip_disable.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/nir/nir_lower_clip_disable.c b/src/compiler/nir/nir_lower_clip_disable.c index ae086459c0c..102eab58deb 100644 --- a/src/compiler/nir/nir_lower_clip_disable.c +++ b/src/compiler/nir/nir_lower_clip_disable.c @@ -30,7 +30,7 @@ /** * This pass uses the enabled clip planes from the rasterizer state to rewrite - * vertex shader store operations and store an undef to the corresponding gl_ClipDistance[n] + * vertex shader store operations and store a 0 to the corresponding gl_ClipDistance[n] * value if the plane is disabled */ @@ -45,7 +45,7 @@ recursive_if_chain(nir_builder *b, nir_deref_instr *deref, nir_ssa_def *value, u if (clip_plane_enable & (1 << start)) nir_store_deref(b, deref, value, 1 << start); else - nir_store_deref(b, deref, nir_ssa_undef(b, 1, 32), 1 << start); + nir_store_deref(b, deref, nir_imm_int(b, 0), 1 << start); return; } @@ -58,7 +58,7 @@ recursive_if_chain(nir_builder *b, nir_deref_instr *deref, nir_ssa_def *value, u } /* vulkan (and some drivers) provides no concept of enabling clip planes through api, - * so we rewrite disabled clip planes to an undefined value in order to disable them + * so we rewrite disabled clip planes to a zero value in order to disable them */ static bool lower_clip_plane_store(nir_intrinsic_instr *instr, unsigned clip_plane_enable, nir_builder *b) @@ -84,7 +84,7 @@ lower_clip_plane_store(nir_intrinsic_instr *instr, unsigned clip_plane_enable, n if (clip_plane_enable & (1 << plane)) return false; - nir_store_deref(b, deref, nir_ssa_undef(b, 1, 32), 1 << plane); + nir_store_deref(b, deref, nir_imm_int(b, 0), 1 << plane); } else { /* storing using a variable index */ nir_ssa_def *index = nir_ssa_for_src(b, deref->arr.index, 1); _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
