From 404e95cdd02830ba0fb215081e826025609c4d14 Mon Sep 17 00:00:00 2001 From: Darren Wihandi <65404740+fairywreath@users.noreply.github.com> Date: Wed, 19 Mar 2025 17:53:57 -0400 Subject: Output SPV_KHR_compute_shader_derivatives extension string instead of the NV extension (#6641) * Output SPV_KHR_compute_shader_derivatives instead of the NV extension * add alias for nv extension --- source/slang/slang-capabilities.capdef | 8 ++++++-- source/slang/slang-emit-spirv.cpp | 10 +++++----- 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/slang/slang-capabilities.capdef b/source/slang/slang-capabilities.capdef index 2285bd2e5..749a72e3b 100644 --- a/source/slang/slang-capabilities.capdef +++ b/source/slang/slang-capabilities.capdef @@ -527,7 +527,11 @@ def SPV_NV_shader_image_footprint : _spirv_1_0; /// Represents the SPIR-V extension for compute shader derivatives. /// [EXT] -def SPV_NV_compute_shader_derivatives : _spirv_1_0; +def SPV_KHR_compute_shader_derivatives : _spirv_1_0; + +/// Represents the SPIR-V extension for compute shader derivatives. +/// [EXT] +alias SPV_NV_compute_shader_derivatives = SPV_KHR_compute_shader_derivatives; /// Represents the SPIR-V extension for SPV_GOOGLE_user_type. /// [EXT] @@ -971,7 +975,7 @@ alias GL_KHR_shader_subgroup_vote = _GL_KHR_shader_subgroup_vote | spvGroupNonUn /// Represents the GL_NV_compute_shader_derivatives extension. /// [EXT] -alias GL_NV_compute_shader_derivatives = _GL_NV_compute_shader_derivatives | SPV_NV_compute_shader_derivatives | _sm_6_6; +alias GL_NV_compute_shader_derivatives = _GL_NV_compute_shader_derivatives | SPV_KHR_compute_shader_derivatives | _sm_6_6; /// Represents the GL_NV_fragment_shader_barycentric extension. /// [EXT] diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index 758e1ca7e..266f3b7e9 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -3603,7 +3603,7 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex continue; ensureExtensionDeclaration( - UnownedStringSlice("SPV_NV_compute_shader_derivatives")); + UnownedStringSlice("SPV_KHR_compute_shader_derivatives")); auto numThreadsDecor = entryPointDecor->findDecoration(); if (isQuad) @@ -3617,8 +3617,8 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex requireSPIRVExecutionMode( nullptr, getIRInstSpvID(entryPoint), - SpvExecutionModeDerivativeGroupQuadsNV); - requireSPIRVCapability(SpvCapabilityComputeDerivativeGroupQuadsNV); + SpvExecutionModeDerivativeGroupQuadsKHR); + requireSPIRVCapability(SpvCapabilityComputeDerivativeGroupQuadsKHR); } else { @@ -3631,8 +3631,8 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex requireSPIRVExecutionMode( nullptr, getIRInstSpvID(entryPoint), - SpvExecutionModeDerivativeGroupLinearNV); - requireSPIRVCapability(SpvCapabilityComputeDerivativeGroupLinearNV); + SpvExecutionModeDerivativeGroupLinearKHR); + requireSPIRVCapability(SpvCapabilityComputeDerivativeGroupLinearKHR); } } -- cgit v1.2.3