zink: emit terminate for spir-v 1.6
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Fri, 26 Aug 2022 12:28:29 +0000 (14:28 +0200)
committerMarge Bot <emma+marge@anholt.net>
Thu, 30 Mar 2023 14:06:54 +0000 (14:06 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18274>

src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c

index feb36c1..8eb76da 100644 (file)
@@ -4688,7 +4688,13 @@ nir_to_spirv(struct nir_shader *s, const struct zink_shader_info *sinfo, uint32_
                              type_void_func);
       SpvId label = spirv_builder_new_id(&ctx.builder);
       spirv_builder_label(&ctx.builder, label);
-      spirv_builder_emit_kill(&ctx.builder);
+
+      /* kill is deprecated in SPIR-V 1.6, use terminate instead */
+      if (spirv_version >= SPIRV_VERSION(1, 6))
+         spirv_builder_emit_terminate(&ctx.builder);
+      else
+         spirv_builder_emit_kill(&ctx.builder);
+
       spirv_builder_function_end(&ctx.builder);
    }