zink/spirv: implement ball_iequal[2-4]
This commit is contained in:
parent
0515ac4571
commit
ea2d9b3d38
|
@ -1052,6 +1052,18 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu)
|
|||
result = emit_unop(ctx, SpvOpAny, dest_type, result);
|
||||
break;
|
||||
|
||||
case nir_op_ball_iequal2:
|
||||
case nir_op_ball_iequal3:
|
||||
case nir_op_ball_iequal4:
|
||||
assert(nir_op_infos[alu->op].num_inputs == 2);
|
||||
assert(alu_instr_src_components(alu, 0) ==
|
||||
alu_instr_src_components(alu, 1));
|
||||
result = emit_binop(ctx, SpvOpIEqual,
|
||||
get_bvec_type(ctx, alu_instr_src_components(alu, 0)),
|
||||
src[0], src[1]);
|
||||
result = emit_unop(ctx, SpvOpAll, dest_type, result);
|
||||
break;
|
||||
|
||||
case nir_op_vec2:
|
||||
case nir_op_vec3:
|
||||
case nir_op_vec4: {
|
||||
|
|
Loading…
Reference in New Issue