zink: drop bool attempt in float vector compares

There's no such thing as a 1-bit float, so remove the special-case. It's
not going to trigger.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9797>
This commit is contained in:
Erik Faye-Lund
2021-03-24 17:37:52 +01:00
committed by Marge Bot
parent 9b52ac694c
commit 296a2fb350

View File

@@ -1749,10 +1749,7 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu)
assert(nir_op_infos[alu->op].num_inputs == 2);
assert(alu_instr_src_components(alu, 0) ==
alu_instr_src_components(alu, 1));
assert(in_bit_sizes[0] == in_bit_sizes[1]);
/* The type of Operand 1 and Operand 2 must be a scalar or vector of floating-point type. */
SpvOp op = in_bit_sizes[0] == 1 ? SpvOpLogicalNotEqual : SpvOpFUnordNotEqual;
result = emit_binop(ctx, op,
result = emit_binop(ctx, SpvOpFUnordNotEqual,
get_bvec_type(ctx, alu_instr_src_components(alu, 0)),
src[0], src[1]);
result = emit_unop(ctx, SpvOpAny, dest_type, result);
@@ -1765,10 +1762,7 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu)
assert(nir_op_infos[alu->op].num_inputs == 2);
assert(alu_instr_src_components(alu, 0) ==
alu_instr_src_components(alu, 1));
assert(in_bit_sizes[0] == in_bit_sizes[1]);
/* The type of Operand 1 and Operand 2 must be a scalar or vector of floating-point type. */
SpvOp op = in_bit_sizes[0] == 1 ? SpvOpLogicalEqual : SpvOpFOrdEqual;
result = emit_binop(ctx, op,
result = emit_binop(ctx, SpvOpFOrdEqual,
get_bvec_type(ctx, alu_instr_src_components(alu, 0)),
src[0], src[1]);
result = emit_unop(ctx, SpvOpAll, dest_type, result);