summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinson Lee <vlee@freedesktop.org>2022-06-16 15:30:23 -0700
committerMarge Bot <emma+marge@anholt.net>2022-06-21 06:54:18 +0000
commit081b1eeacd64e02a2470af532e283578075efbed (patch)
tree406599a84d8592e8b1ae17549d986aaa8963017c
parent2b870731336bc128f309d20007efc56ad9c002d3 (diff)
microsoft/compiler: Fix assert.
Fix defect reported by Coverity Scan. Side effect in assertion (ASSERT_SIDE_EFFECT) assignment_where_comparison_intended: Assignment var->type = glsl_int_type() has a side effect. This code will work differently in a non-debug build. Fixes: afb64e10c1f ("microsoft/compiler: Move d3d12_fix_io_uint_type() to dxil_nir.c") Suggested-by: Boris Brezillon <boris.brezillon@collabora.com> Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17097>
-rw-r--r--src/microsoft/compiler/dxil_nir.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/microsoft/compiler/dxil_nir.c b/src/microsoft/compiler/dxil_nir.c
index c309338d45d..a2d2994fc2d 100644
--- a/src/microsoft/compiler/dxil_nir.c
+++ b/src/microsoft/compiler/dxil_nir.c
@@ -1993,7 +1993,10 @@ fix_io_uint_type(nir_shader *s, nir_variable_mode modes, int slot)
nir_variable *fixed_var = NULL;
nir_foreach_variable_with_modes(var, s, modes) {
if (var->data.location == slot) {
- assert(var->type = glsl_int_type());
+ if (var->type == glsl_uint_type())
+ return false;
+
+ assert(var->type == glsl_int_type());
var->type = glsl_uint_type();
fixed_var = var;
break;