diff --git a/.pick_status.json b/.pick_status.json index fc3bc01055a..abc17498c0b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1525,7 +1525,7 @@ "description": "zink: handle 1bit undef values in ntv", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "93af00502ebc32061c63927815d0d2255fe66a98" }, diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index b24e68da8cc..9bf3011f6b0 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -2080,8 +2080,9 @@ emit_intrinsic(struct ntv_context *ctx, nir_intrinsic_instr *intr) static void emit_undef(struct ntv_context *ctx, nir_ssa_undef_instr *undef) { - SpvId type = get_uvec_type(ctx, undef->def.bit_size, - undef->def.num_components); + SpvId type = undef->def.bit_size == 1 ? get_bvec_type(ctx, undef->def.num_components) : + get_uvec_type(ctx, undef->def.bit_size, + undef->def.num_components); store_ssa_def(ctx, &undef->def, spirv_builder_emit_undef(&ctx->builder, type));