diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2016-05-29 11:43:05 -0400 |
---|---|---|
committer | Ilia Mirkin <imirkin@alum.mit.edu> | 2016-06-06 20:49:29 -0400 |
commit | f64c36e2d7cdf14a43cde7963729a926e613dc4c (patch) | |
tree | 4c3ae94437072a85e1b2c248bb6cb495aac69e0b /src/mesa/state_tracker/st_glsl_to_tgsi.cpp | |
parent | edfa7a4b25839fb7bda71ce42af9a0a02c7c5b27 (diff) | |
download | external_mesa3d-f64c36e2d7cdf14a43cde7963729a926e613dc4c.zip external_mesa3d-f64c36e2d7cdf14a43cde7963729a926e613dc4c.tar.gz external_mesa3d-f64c36e2d7cdf14a43cde7963729a926e613dc4c.tar.bz2 |
st/mesa: expose GL_ARB_shader_group_vote when supported by backend
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/mesa/state_tracker/st_glsl_to_tgsi.cpp')
-rw-r--r-- | src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 92b0f8c..634d3a5 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -2235,6 +2235,16 @@ glsl_to_tgsi_visitor::visit_expression(ir_expression* ir, st_src_reg *op) break; } + case ir_unop_vote_any: + emit_asm(ir, TGSI_OPCODE_VOTE_ANY, result_dst, op[0]); + break; + case ir_unop_vote_all: + emit_asm(ir, TGSI_OPCODE_VOTE_ALL, result_dst, op[0]); + break; + case ir_unop_vote_eq: + emit_asm(ir, TGSI_OPCODE_VOTE_EQ, result_dst, op[0]); + break; + case ir_unop_pack_snorm_2x16: case ir_unop_pack_unorm_2x16: case ir_unop_pack_snorm_4x8: @@ -2251,10 +2261,6 @@ glsl_to_tgsi_visitor::visit_expression(ir_expression* ir, st_src_reg *op) case ir_binop_carry: case ir_binop_borrow: case ir_unop_ssbo_unsized_array_length: - - case ir_unop_vote_any: - case ir_unop_vote_all: - case ir_unop_vote_eq: /* This operation is not supported, or should have already been handled. */ assert(!"Invalid ir opcode in glsl_to_tgsi_visitor::visit()"); |