Mesa (master): glsl_to_nir: fix crashes with int16 shifts
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sun Sep 6 12:19:34 UTC 2020
Module: Mesa
Branch: master
Commit: 4b7f93b4079b56b5af2d3bf557cbdcd148c0233c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b7f93b4079b56b5af2d3bf557cbdcd148c0233c
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Sep 3 09:27:58 2020 -0400
glsl_to_nir: fix crashes with int16 shifts
Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6613>
---
src/compiler/glsl/glsl_to_nir.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp
index afadfa99bb3..4722a77af47 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++ b/src/compiler/glsl/glsl_to_nir.cpp
@@ -2192,10 +2192,10 @@ nir_visitor::visit(ir_expression *ir)
case ir_binop_logic_xor:
result = nir_ixor(&b, srcs[0], srcs[1]);
break;
- case ir_binop_lshift: result = nir_ishl(&b, srcs[0], srcs[1]); break;
+ case ir_binop_lshift: result = nir_ishl(&b, srcs[0], nir_u2u32(&b, srcs[1])); break;
case ir_binop_rshift:
- result = (type_is_signed(out_type)) ? nir_ishr(&b, srcs[0], srcs[1])
- : nir_ushr(&b, srcs[0], srcs[1]);
+ result = (type_is_signed(out_type)) ? nir_ishr(&b, srcs[0], nir_u2u32(&b, srcs[1]))
+ : nir_ushr(&b, srcs[0], nir_u2u32(&b, srcs[1]));
break;
case ir_binop_imul_high:
result = (out_type == GLSL_TYPE_INT) ? nir_imul_high(&b, srcs[0], srcs[1])
More information about the mesa-commit
mailing list