From 600f7804bf1bb0bc1133aea14e110939d7432e74 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 20 Jul 2021 16:07:34 -0400 Subject: [PATCH] zink: implement nir_op_pack_half_2x16_split Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 6 ++++++ 1 file changed, 6 insertions(+) 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 8d10be216ff..2602556265c 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 @@ -1800,6 +1800,12 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu) result = emit_select(ctx, dest_type, src[0], src[1], src[2]); break; + case nir_op_pack_half_2x16_split: { + SpvId fvec = spirv_builder_emit_composite_construct(&ctx->builder, get_fvec_type(ctx, 32, 2), + src, 2); + result = emit_builtin_unop(ctx, GLSLstd450PackHalf2x16, dest_type, fvec); + break; + } case nir_op_vec2: case nir_op_vec3: case nir_op_vec4: {