diff options
author | Vinson Lee <vlee@freedesktop.org> | 2022-06-16 15:30:23 -0700 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-06-21 06:54:18 +0000 |
commit | 081b1eeacd64e02a2470af532e283578075efbed (patch) | |
tree | 406599a84d8592e8b1ae17549d986aaa8963017c | |
parent | 2b870731336bc128f309d20007efc56ad9c002d3 (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.c | 5 |
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; |