st/glsl_to_tgsi: implement ARB_shader_ballot builtin functions

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle 2017-03-30 12:15:51 +02:00
parent 08bd0aa507
commit 76e3dba289

View file

@ -2369,6 +2369,15 @@ glsl_to_tgsi_visitor::visit_expression(ir_expression* ir, st_src_reg *op)
case ir_unop_vote_eq: case ir_unop_vote_eq:
emit_asm(ir, TGSI_OPCODE_VOTE_EQ, result_dst, op[0]); emit_asm(ir, TGSI_OPCODE_VOTE_EQ, result_dst, op[0]);
break; break;
case ir_unop_ballot:
emit_asm(ir, TGSI_OPCODE_BALLOT, result_dst, op[0]);
break;
case ir_unop_read_first_invocation:
emit_asm(ir, TGSI_OPCODE_READ_FIRST, result_dst, op[0]);
break;
case ir_binop_read_invocation:
emit_asm(ir, TGSI_OPCODE_READ_INVOC, result_dst, op[0], op[1]);
break;
case ir_unop_u2i64: case ir_unop_u2i64:
case ir_unop_u2u64: case ir_unop_u2u64:
case ir_unop_b2i64: { case ir_unop_b2i64: {