diff options
Diffstat (limited to 'src/compiler/glsl/ir.cpp')
-rw-r--r-- | src/compiler/glsl/ir.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/compiler/glsl/ir.cpp b/src/compiler/glsl/ir.cpp index f80bd811ac0..2bbc7a1cf72 100644 --- a/src/compiler/glsl/ir.cpp +++ b/src/compiler/glsl/ir.cpp @@ -381,6 +381,14 @@ ir_expression::ir_expression(int op, ir_rvalue *op0) this->type = glsl_type::int_type; break; + case ir_unop_ballot: + this->type = glsl_type::uint64_t_type; + break; + + case ir_unop_read_first_invocation: + this->type = op0->type; + break; + case ir_unop_vote_any: case ir_unop_vote_all: case ir_unop_vote_eq: @@ -496,6 +504,10 @@ ir_expression::ir_expression(int op, ir_rvalue *op0, ir_rvalue *op1) this->type = op0->type->get_scalar_type(); break; + case ir_binop_read_invocation: + this->type = op0->type; + break; + default: assert(!"not reached: missing automatic type setup for ir_expression"); this->type = glsl_type::float_type; |