From 1ff0c181bb37b06371e2ffa2810d473c5e01c9b7 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Thu, 10 Oct 2019 12:01:13 -0600 Subject: [PATCH] Fix #1924: Emit SPV_EXT_physical_storage_buffer, not the KHR form. The KHR form comes along as part of 1.5, and otherwise should require another form of request to emit it. --- SPIRV/GLSL.ext.KHR.h | 1 + SPIRV/GlslangToSpv.cpp | 2 +- Test/baseResults/spv.bufferhandle1.frag.out | 2 +- Test/baseResults/spv.bufferhandle10.frag.out | 2 +- Test/baseResults/spv.bufferhandle11.frag.out | 2 +- Test/baseResults/spv.bufferhandle12.frag.out | 2 +- Test/baseResults/spv.bufferhandle13.frag.out | 2 +- Test/baseResults/spv.bufferhandle14.frag.out | 2 +- Test/baseResults/spv.bufferhandle15.frag.out | 2 +- Test/baseResults/spv.bufferhandle16.frag.out | 2 +- Test/baseResults/spv.bufferhandle18.frag.out | 2 +- Test/baseResults/spv.bufferhandle2.frag.out | 2 +- Test/baseResults/spv.bufferhandle3.frag.out | 2 +- Test/baseResults/spv.bufferhandle4.frag.out | 2 +- Test/baseResults/spv.bufferhandle5.frag.out | 2 +- Test/baseResults/spv.bufferhandle6.frag.out | 2 +- Test/baseResults/spv.bufferhandle7.frag.out | 2 +- Test/baseResults/spv.bufferhandle8.frag.out | 2 +- Test/baseResults/spv.bufferhandle9.frag.out | 2 +- Test/baseResults/spv.bufferhandleUvec2.frag.out | 3 ++- Test/baseResults/spv.coopmat.comp.out | 2 +- Test/baseResults/spv.intcoopmat.comp.out | 2 +- 22 files changed, 23 insertions(+), 21 deletions(-) diff --git a/SPIRV/GLSL.ext.KHR.h b/SPIRV/GLSL.ext.KHR.h index ac26a05..e58e836 100644 --- a/SPIRV/GLSL.ext.KHR.h +++ b/SPIRV/GLSL.ext.KHR.h @@ -40,6 +40,7 @@ static const char* const E_SPV_KHR_8bit_storage = "SPV_KHR_8bit_ static const char* const E_SPV_KHR_storage_buffer_storage_class = "SPV_KHR_storage_buffer_storage_class"; static const char* const E_SPV_KHR_post_depth_coverage = "SPV_KHR_post_depth_coverage"; static const char* const E_SPV_KHR_vulkan_memory_model = "SPV_KHR_vulkan_memory_model"; +static const char* const E_SPV_EXT_physical_storage_buffer = "SPV_EXT_physical_storage_buffer"; static const char* const E_SPV_KHR_physical_storage_buffer = "SPV_KHR_physical_storage_buffer"; static const char* const E_SPV_EXT_fragment_shader_interlock = "SPV_EXT_fragment_shader_interlock"; static const char* const E_SPV_KHR_shader_clock = "SPV_KHR_shader_clock"; diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index afb405e..8760f4a 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -1399,7 +1399,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, const gl if (glslangIntermediate->usingPhysicalStorageBuffer()) { addressingModel = spv::AddressingModelPhysicalStorageBuffer64EXT; - builder.addIncorporatedExtension(spv::E_SPV_KHR_physical_storage_buffer, spv::Spv_1_5); + builder.addIncorporatedExtension(spv::E_SPV_EXT_physical_storage_buffer, spv::Spv_1_5); builder.addCapability(spv::CapabilityPhysicalStorageBufferAddressesEXT); }; if (glslangIntermediate->usingVulkanMemoryModel()) { diff --git a/Test/baseResults/spv.bufferhandle1.frag.out b/Test/baseResults/spv.bufferhandle1.frag.out index 8457eac..6e50c70 100644 --- a/Test/baseResults/spv.bufferhandle1.frag.out +++ b/Test/baseResults/spv.bufferhandle1.frag.out @@ -6,7 +6,7 @@ spv.bufferhandle1.frag Capability Shader Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" 1: ExtInstImport "GLSL.std.450" diff --git a/Test/baseResults/spv.bufferhandle10.frag.out b/Test/baseResults/spv.bufferhandle10.frag.out index 871b017..a95dc71 100644 --- a/Test/baseResults/spv.bufferhandle10.frag.out +++ b/Test/baseResults/spv.bufferhandle10.frag.out @@ -6,7 +6,7 @@ spv.bufferhandle10.frag Capability Shader Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" 1: ExtInstImport "GLSL.std.450" diff --git a/Test/baseResults/spv.bufferhandle11.frag.out b/Test/baseResults/spv.bufferhandle11.frag.out index 6f3cbe1..3469715 100644 --- a/Test/baseResults/spv.bufferhandle11.frag.out +++ b/Test/baseResults/spv.bufferhandle11.frag.out @@ -9,8 +9,8 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to Capability Shader Capability StorageBuffer8BitAccess Capability PhysicalStorageBufferAddressesEXT + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_8bit_storage" - Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle12.frag.out b/Test/baseResults/spv.bufferhandle12.frag.out index 1808c5f..6c20f02 100644 --- a/Test/baseResults/spv.bufferhandle12.frag.out +++ b/Test/baseResults/spv.bufferhandle12.frag.out @@ -9,8 +9,8 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to Capability Shader Capability StorageUniformBufferBlock16 Capability PhysicalStorageBufferAddressesEXT + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_16bit_storage" - Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle13.frag.out b/Test/baseResults/spv.bufferhandle13.frag.out index 7b83210..1231cf6 100644 --- a/Test/baseResults/spv.bufferhandle13.frag.out +++ b/Test/baseResults/spv.bufferhandle13.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle13.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle14.frag.out b/Test/baseResults/spv.bufferhandle14.frag.out index b44391a..940793d 100644 --- a/Test/baseResults/spv.bufferhandle14.frag.out +++ b/Test/baseResults/spv.bufferhandle14.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle14.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle15.frag.out b/Test/baseResults/spv.bufferhandle15.frag.out index 2eae28b..ec7064d 100644 --- a/Test/baseResults/spv.bufferhandle15.frag.out +++ b/Test/baseResults/spv.bufferhandle15.frag.out @@ -8,7 +8,7 @@ WARNING: 0:16: '' : all default precisions are highp; use precision statements t Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle16.frag.out b/Test/baseResults/spv.bufferhandle16.frag.out index 2355591..16e69d1 100644 --- a/Test/baseResults/spv.bufferhandle16.frag.out +++ b/Test/baseResults/spv.bufferhandle16.frag.out @@ -6,7 +6,7 @@ spv.bufferhandle16.frag Capability Shader Capability Int64 Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle18.frag.out b/Test/baseResults/spv.bufferhandle18.frag.out index 6d2178d..567295d 100644 --- a/Test/baseResults/spv.bufferhandle18.frag.out +++ b/Test/baseResults/spv.bufferhandle18.frag.out @@ -6,7 +6,7 @@ spv.bufferhandle18.frag Capability Shader Capability Int64 Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle2.frag.out b/Test/baseResults/spv.bufferhandle2.frag.out index 728bee3..8fee6db 100644 --- a/Test/baseResults/spv.bufferhandle2.frag.out +++ b/Test/baseResults/spv.bufferhandle2.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle2.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle3.frag.out b/Test/baseResults/spv.bufferhandle3.frag.out index b888fe4..c02c34c 100644 --- a/Test/baseResults/spv.bufferhandle3.frag.out +++ b/Test/baseResults/spv.bufferhandle3.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle3.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle4.frag.out b/Test/baseResults/spv.bufferhandle4.frag.out index e5a4f5d..3f568b0 100644 --- a/Test/baseResults/spv.bufferhandle4.frag.out +++ b/Test/baseResults/spv.bufferhandle4.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle4.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle5.frag.out b/Test/baseResults/spv.bufferhandle5.frag.out index c663c42..3f1d214 100644 --- a/Test/baseResults/spv.bufferhandle5.frag.out +++ b/Test/baseResults/spv.bufferhandle5.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle5.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle6.frag.out b/Test/baseResults/spv.bufferhandle6.frag.out index 2a9b484..866741f 100644 --- a/Test/baseResults/spv.bufferhandle6.frag.out +++ b/Test/baseResults/spv.bufferhandle6.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle6.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle7.frag.out b/Test/baseResults/spv.bufferhandle7.frag.out index c5bbc5d..d09eded 100644 --- a/Test/baseResults/spv.bufferhandle7.frag.out +++ b/Test/baseResults/spv.bufferhandle7.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle7.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle8.frag.out b/Test/baseResults/spv.bufferhandle8.frag.out index 3219734..c37fa3f 100644 --- a/Test/baseResults/spv.bufferhandle8.frag.out +++ b/Test/baseResults/spv.bufferhandle8.frag.out @@ -5,7 +5,7 @@ spv.bufferhandle8.frag Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandle9.frag.out b/Test/baseResults/spv.bufferhandle9.frag.out index df2b677..5b91eda 100644 --- a/Test/baseResults/spv.bufferhandle9.frag.out +++ b/Test/baseResults/spv.bufferhandle9.frag.out @@ -6,7 +6,7 @@ spv.bufferhandle9.frag Capability Shader Capability Int64 Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.bufferhandleUvec2.frag.out b/Test/baseResults/spv.bufferhandleUvec2.frag.out index 1e0cbcd..9ac455b 100755 --- a/Test/baseResults/spv.bufferhandleUvec2.frag.out +++ b/Test/baseResults/spv.bufferhandleUvec2.frag.out @@ -1,11 +1,12 @@ spv.bufferhandleUvec2.frag +Validation failed // Module Version 10000 // Generated by (magic number): 80007 // Id's are bound by 71 Capability Shader Capability PhysicalStorageBufferAddressesEXT - Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 diff --git a/Test/baseResults/spv.coopmat.comp.out b/Test/baseResults/spv.coopmat.comp.out index 976c59f..acdcbc4 100644 --- a/Test/baseResults/spv.coopmat.comp.out +++ b/Test/baseResults/spv.coopmat.comp.out @@ -9,8 +9,8 @@ spv.coopmat.comp Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeMatrixNV + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_16bit_storage" - Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" Extension "SPV_NV_cooperative_matrix" diff --git a/Test/baseResults/spv.intcoopmat.comp.out b/Test/baseResults/spv.intcoopmat.comp.out index a854ed5..06f5623 100644 --- a/Test/baseResults/spv.intcoopmat.comp.out +++ b/Test/baseResults/spv.intcoopmat.comp.out @@ -10,8 +10,8 @@ spv.intcoopmat.comp Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeMatrixNV + Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_8bit_storage" - Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" Extension "SPV_NV_cooperative_matrix" -- 2.7.4