Mesa (master): st/glsl_to_tgsi: implement ARB_shader_ballot builtin functions

Nicolai Hähnle nh at kemper.freedesktop.org
Wed Apr 5 13:33:01 UTC 2017


Module: Mesa
Branch: master
Commit: 76e3dba28981bf54b36a875755091b9e25fa374c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76e3dba28981bf54b36a875755091b9e25fa374c

Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Mar 30 12:15:51 2017 +0200

st/glsl_to_tgsi: implement ARB_shader_ballot builtin functions

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index b4849de1dc..04e7304677 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -2369,6 +2369,15 @@ glsl_to_tgsi_visitor::visit_expression(ir_expression* ir, st_src_reg *op)
    case ir_unop_vote_eq:
       emit_asm(ir, TGSI_OPCODE_VOTE_EQ, result_dst, op[0]);
       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_u2u64:
    case ir_unop_b2i64: {




More information about the mesa-commit mailing list