From 31170a8586dc0716e6abd1531ac325511e5a3d33 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 19 Apr 2023 13:32:32 -0400 Subject: [PATCH] zink: emit demote cap when using demote VUID-VkShaderModuleCreateInfo-pCode-01377(ERROR / SPEC): msgNum: 1478567243 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-01377 ] Object 0: handle = 0x55f304e851c0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x5821254b | SPIR-V module not valid: Opcode DemoteToHelperInvocation requires one of these capabilities: DemoteToHelperInvocation cc: mesa-stable Part-of: (cherry picked from commit 6ddfc5087c6ca312bec532887312c19ee5523fc3) --- .pick_status.json | 2 +- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index e76418872b7..2fe2ffd2fbc 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -355,7 +355,7 @@ "description": "zink: emit demote cap when using demote", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, 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 df3f201a6ec..bb2d79059d0 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 @@ -3240,6 +3240,7 @@ emit_intrinsic(struct ntv_context *ctx, nir_intrinsic_instr *intr) break; case nir_intrinsic_demote: + spirv_builder_emit_cap(&ctx->builder, SpvCapabilityDemoteToHelperInvocation); spirv_builder_emit_demote(&ctx->builder); break;