From 174d6e6a545c03a9ac2a14287fae0071a79c1cda Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 15 Mar 2023 15:18:46 +1100 Subject: [PATCH] glsl: allow 64-bit integer on RHS of shift MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: 9ba9a7f854dd ("glsl: Add 64-bit integer support to some operations.") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6862 Reviewed-by: Marek Olšák Part-of: --- src/compiler/glsl/ast_to_hir.cpp | 2 +- src/compiler/glsl/ir_validate.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a61fe1d..7831d5a 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -747,7 +747,7 @@ shift_result_type(const struct glsl_type *type_a, return glsl_type::error_type; } - if (!type_b->is_integer_32()) { + if (!type_b->is_integer_32_64()) { _mesa_glsl_error(loc, state, "RHS of operator %s must be an integer or " "integer vector", ast_expression::operator_string(op)); return glsl_type::error_type; diff --git a/src/compiler/glsl/ir_validate.cpp b/src/compiler/glsl/ir_validate.cpp index 2e120db..decb4d2 100644 --- a/src/compiler/glsl/ir_validate.cpp +++ b/src/compiler/glsl/ir_validate.cpp @@ -805,7 +805,7 @@ ir_validate::visit_leave(ir_expression *ir) case ir_binop_lshift: case ir_binop_rshift: assert(ir->operands[0]->type->is_integer_16_32_64() && - ir->operands[1]->type->is_integer_16_32()); + ir->operands[1]->type->is_integer_16_32_64()); if (ir->operands[0]->type->is_scalar()) { assert(ir->operands[1]->type->is_scalar()); } -- 2.7.4