mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 06:30:10 +01:00
glsl2: Use i2b and f2b IR opcodes for casting int or float to bool
This commit is contained in:
parent
0bef5b97a9
commit
26b5d33dce
1 changed files with 9 additions and 9 deletions
|
|
@ -172,17 +172,17 @@ convert_component(ir_rvalue *src, const glsl_type *desired_type)
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case GLSL_TYPE_BOOL: {
|
||||
ir_constant *zero = NULL;
|
||||
|
||||
case GLSL_TYPE_BOOL:
|
||||
switch (b) {
|
||||
case GLSL_TYPE_UINT: zero = new(ctx) ir_constant(unsigned(0)); break;
|
||||
case GLSL_TYPE_INT: zero = new(ctx) ir_constant(int(0)); break;
|
||||
case GLSL_TYPE_FLOAT: zero = new(ctx) ir_constant(0.0f); break;
|
||||
case GLSL_TYPE_UINT:
|
||||
case GLSL_TYPE_INT:
|
||||
result = new(ctx) ir_expression(ir_unop_i2b, desired_type, src, NULL);
|
||||
break;
|
||||
case GLSL_TYPE_FLOAT:
|
||||
result = new(ctx) ir_expression(ir_unop_f2b, desired_type, src, NULL);
|
||||
break;
|
||||
}
|
||||
|
||||
result = new(ctx) ir_expression(ir_binop_nequal, desired_type, src, zero);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
assert(result != NULL);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue