mesa: Add new ir_unop_any() expression operation.
The previous any() implementation would generate arg0.x || arg0.y || arg0.z. Having an expression operation for this makes it easy for the backend to generate something easier (DPn + SNE for 915 FS, .any predication on 965 VS)
This commit is contained in:
@@ -223,6 +223,11 @@ ir_validate::visit_leave(ir_expression *ir)
|
||||
assert(ir->type->base_type == GLSL_TYPE_FLOAT);
|
||||
break;
|
||||
|
||||
case ir_unop_any:
|
||||
assert(ir->operands[0]->type->base_type == GLSL_TYPE_BOOL);
|
||||
assert(ir->type == glsl_type::bool_type);
|
||||
break;
|
||||
|
||||
case ir_unop_trunc:
|
||||
case ir_unop_ceil:
|
||||
case ir_unop_floor:
|
||||
|
Reference in New Issue
Block a user