zink/spirv: fixup b2i32 and implement b2f32
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
@@ -828,7 +828,16 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu)
|
||||
|
||||
case nir_op_b2i32:
|
||||
assert(nir_op_infos[alu->op].num_inputs == 1);
|
||||
result = bvec_to_uvec(ctx, src[0], num_components);
|
||||
result = emit_select(ctx, dest_type, src[0],
|
||||
get_uvec_constant(ctx, 32, num_components, 1),
|
||||
get_uvec_constant(ctx, 32, num_components, 0));
|
||||
break;
|
||||
|
||||
case nir_op_b2f32:
|
||||
assert(nir_op_infos[alu->op].num_inputs == 1);
|
||||
result = emit_select(ctx, dest_type, src[0],
|
||||
get_fvec_constant(ctx, 32, num_components, 1),
|
||||
get_fvec_constant(ctx, 32, num_components, 0));
|
||||
break;
|
||||
|
||||
#define BUILTIN_UNOP(nir_op, spirv_op) \
|
||||
|
Reference in New Issue
Block a user