Module: Mesa
Branch: staging/23.0
Commit: a081493e0dc776f61fb1e84fc072fe7f50e5b7b7
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a081493e0dc776f61fb1e84fc072fe7f50e5b7b7

Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Apr 19 13:32:32 2023 -0400

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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22582>
(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 0cad213e42f..2eaaac80bff 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -2954,7 +2954,7 @@
         "description": "zink: emit demote cap when using demote",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null,
         "notes": 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 681e0ba939f..9756447e026 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
@@ -3231,6 +3231,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;
 

Reply via email to