mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 13:48:06 +02:00
glsl: Don't replace lrp pattern with lrp if arguments are not floats
We don't have "lrp(int, int, int)" and validation of ir_triop_lrp fails down the road. Fixes:8d37e991Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3059 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Tested-by: Witold Baryluk <witold.baryluk@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5257> (cherry picked from commit9f3956fea0)
This commit is contained in:
parent
8e8a6abbdb
commit
60b57b609f
2 changed files with 3 additions and 2 deletions
|
|
@ -2110,7 +2110,7 @@
|
|||
"description": "glsl: Don't replace lrp pattern with lrp if arguments are not floats",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "8d37e9915a3b21b496269a39f677a80a6e02cb2c"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -578,7 +578,8 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir)
|
|||
ir_rvalue *y_operand = inner_add->operands[1 - neg_pos];
|
||||
ir_rvalue *a_operand = mul->operands[1 - inner_add_pos];
|
||||
|
||||
if (x_operand->type != y_operand->type ||
|
||||
if (!x_operand->type->is_float_16_32_64() ||
|
||||
x_operand->type != y_operand->type ||
|
||||
x_operand->type != a_operand->type)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue