mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 11:20:11 +01:00
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>
This commit is contained in:
parent
edfa7a4b25
commit
f64c36e2d7
2 changed files with 11 additions and 4 deletions
|
|
@ -597,6 +597,7 @@ void st_init_extensions(struct pipe_screen *screen,
|
||||||
{ o(ARB_sample_shading), PIPE_CAP_SAMPLE_SHADING },
|
{ o(ARB_sample_shading), PIPE_CAP_SAMPLE_SHADING },
|
||||||
{ o(ARB_seamless_cube_map), PIPE_CAP_SEAMLESS_CUBE_MAP },
|
{ o(ARB_seamless_cube_map), PIPE_CAP_SEAMLESS_CUBE_MAP },
|
||||||
{ o(ARB_shader_draw_parameters), PIPE_CAP_DRAW_PARAMETERS },
|
{ o(ARB_shader_draw_parameters), PIPE_CAP_DRAW_PARAMETERS },
|
||||||
|
{ o(ARB_shader_group_vote), PIPE_CAP_TGSI_VOTE },
|
||||||
{ o(ARB_shader_stencil_export), PIPE_CAP_SHADER_STENCIL_EXPORT },
|
{ o(ARB_shader_stencil_export), PIPE_CAP_SHADER_STENCIL_EXPORT },
|
||||||
{ o(ARB_shader_texture_image_samples), PIPE_CAP_TGSI_TXQS },
|
{ o(ARB_shader_texture_image_samples), PIPE_CAP_TGSI_TXQS },
|
||||||
{ o(ARB_shader_texture_lod), PIPE_CAP_SM3 },
|
{ o(ARB_shader_texture_lod), PIPE_CAP_SM3 },
|
||||||
|
|
|
||||||
|
|
@ -2235,6 +2235,16 @@ glsl_to_tgsi_visitor::visit_expression(ir_expression* ir, st_src_reg *op)
|
||||||
break;
|
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_snorm_2x16:
|
||||||
case ir_unop_pack_unorm_2x16:
|
case ir_unop_pack_unorm_2x16:
|
||||||
case ir_unop_pack_snorm_4x8:
|
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_carry:
|
||||||
case ir_binop_borrow:
|
case ir_binop_borrow:
|
||||||
case ir_unop_ssbo_unsized_array_length:
|
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.
|
/* This operation is not supported, or should have already been handled.
|
||||||
*/
|
*/
|
||||||
assert(!"Invalid ir opcode in glsl_to_tgsi_visitor::visit()");
|
assert(!"Invalid ir opcode in glsl_to_tgsi_visitor::visit()");
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue