{ o(ARB_sample_shading), PIPE_CAP_SAMPLE_SHADING },
{ o(ARB_seamless_cube_map), PIPE_CAP_SEAMLESS_CUBE_MAP },
{ 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_texture_image_samples), PIPE_CAP_TGSI_TXQS },
{ o(ARB_shader_texture_lod), PIPE_CAP_SM3 },
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:
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()");