diff --git a/Test/baseResults/spv.bufferhandle1.frag.out b/Test/baseResults/spv.bufferhandle1.frag.out index b49c1296..68dd4833 100644 --- a/Test/baseResults/spv.bufferhandle1.frag.out +++ b/Test/baseResults/spv.bufferhandle1.frag.out @@ -1,5 +1,5 @@ spv.bufferhandle1.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 52 @@ -7,7 +7,6 @@ spv.bufferhandle1.frag Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT VulkanKHR diff --git a/Test/baseResults/spv.bufferhandle10.frag.out b/Test/baseResults/spv.bufferhandle10.frag.out index f9ab60d2..a376aefb 100644 --- a/Test/baseResults/spv.bufferhandle10.frag.out +++ b/Test/baseResults/spv.bufferhandle10.frag.out @@ -1,5 +1,5 @@ spv.bufferhandle10.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 40 @@ -7,7 +7,6 @@ spv.bufferhandle10.frag Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT VulkanKHR diff --git a/Test/baseResults/spv.bufferhandle11.frag.out b/Test/baseResults/spv.bufferhandle11.frag.out index 9dd1c7b8..5d0e3a06 100644 --- a/Test/baseResults/spv.bufferhandle11.frag.out +++ b/Test/baseResults/spv.bufferhandle11.frag.out @@ -2,7 +2,7 @@ spv.bufferhandle11.frag WARNING: 0:6: '' : all default precisions are highp; use precision statements to quiet warning, e.g.: "precision mediump int; precision highp float;" -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 61 @@ -11,7 +11,6 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to Capability PhysicalStorageBufferAddressesEXT 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 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle12.frag.out b/Test/baseResults/spv.bufferhandle12.frag.out index 7cd5cb5e..b5473488 100644 --- a/Test/baseResults/spv.bufferhandle12.frag.out +++ b/Test/baseResults/spv.bufferhandle12.frag.out @@ -2,16 +2,14 @@ spv.bufferhandle12.frag WARNING: 0:6: '' : all default precisions are highp; use precision statements to quiet warning, e.g.: "precision mediump int; precision highp float;" -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 183 Capability Shader Capability StorageUniformBufferBlock16 Capability PhysicalStorageBufferAddressesEXT - 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 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle13.frag.out b/Test/baseResults/spv.bufferhandle13.frag.out index 5ce24acd..491141ac 100644 --- a/Test/baseResults/spv.bufferhandle13.frag.out +++ b/Test/baseResults/spv.bufferhandle13.frag.out @@ -1,12 +1,11 @@ spv.bufferhandle13.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 58 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle14.frag.out b/Test/baseResults/spv.bufferhandle14.frag.out index 34df7538..5fef7ba0 100644 --- a/Test/baseResults/spv.bufferhandle14.frag.out +++ b/Test/baseResults/spv.bufferhandle14.frag.out @@ -1,5 +1,5 @@ spv.bufferhandle14.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 46 diff --git a/Test/baseResults/spv.bufferhandle15.frag.out b/Test/baseResults/spv.bufferhandle15.frag.out index ab1b4dba..5d619e2d 100644 --- a/Test/baseResults/spv.bufferhandle15.frag.out +++ b/Test/baseResults/spv.bufferhandle15.frag.out @@ -2,14 +2,13 @@ spv.bufferhandle15.frag WARNING: 0:16: '' : all default precisions are highp; use precision statements to quiet warning, e.g.: "precision mediump int; precision highp float;" -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 60 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" 37 diff --git a/Test/baseResults/spv.bufferhandle16.frag.out b/Test/baseResults/spv.bufferhandle16.frag.out index a9d9dcf2..14f96099 100644 --- a/Test/baseResults/spv.bufferhandle16.frag.out +++ b/Test/baseResults/spv.bufferhandle16.frag.out @@ -1,5 +1,5 @@ spv.bufferhandle16.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 48 diff --git a/Test/baseResults/spv.bufferhandle18.frag.out b/Test/baseResults/spv.bufferhandle18.frag.out index 59ad6d02..ea4061d6 100644 --- a/Test/baseResults/spv.bufferhandle18.frag.out +++ b/Test/baseResults/spv.bufferhandle18.frag.out @@ -1,5 +1,5 @@ spv.bufferhandle18.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 196 diff --git a/Test/baseResults/spv.bufferhandle2.frag.out b/Test/baseResults/spv.bufferhandle2.frag.out index e20f3b7f..32c8e18a 100644 --- a/Test/baseResults/spv.bufferhandle2.frag.out +++ b/Test/baseResults/spv.bufferhandle2.frag.out @@ -1,12 +1,11 @@ spv.bufferhandle2.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 45 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle3.frag.out b/Test/baseResults/spv.bufferhandle3.frag.out index 65ad1ca6..429a857e 100644 --- a/Test/baseResults/spv.bufferhandle3.frag.out +++ b/Test/baseResults/spv.bufferhandle3.frag.out @@ -1,12 +1,11 @@ spv.bufferhandle3.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 50 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" 42 diff --git a/Test/baseResults/spv.bufferhandle4.frag.out b/Test/baseResults/spv.bufferhandle4.frag.out index e06bca4e..a441f7bf 100644 --- a/Test/baseResults/spv.bufferhandle4.frag.out +++ b/Test/baseResults/spv.bufferhandle4.frag.out @@ -1,12 +1,11 @@ spv.bufferhandle4.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 61 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle5.frag.out b/Test/baseResults/spv.bufferhandle5.frag.out index bf4d3a2a..ebd922c6 100644 --- a/Test/baseResults/spv.bufferhandle5.frag.out +++ b/Test/baseResults/spv.bufferhandle5.frag.out @@ -1,5 +1,5 @@ spv.bufferhandle5.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 22 diff --git a/Test/baseResults/spv.bufferhandle6.frag.out b/Test/baseResults/spv.bufferhandle6.frag.out index abc9187c..9367d909 100644 --- a/Test/baseResults/spv.bufferhandle6.frag.out +++ b/Test/baseResults/spv.bufferhandle6.frag.out @@ -1,12 +1,11 @@ spv.bufferhandle6.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 165 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" 154 diff --git a/Test/baseResults/spv.bufferhandle7.frag.out b/Test/baseResults/spv.bufferhandle7.frag.out index 4282a362..65903c2d 100644 --- a/Test/baseResults/spv.bufferhandle7.frag.out +++ b/Test/baseResults/spv.bufferhandle7.frag.out @@ -1,12 +1,11 @@ spv.bufferhandle7.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 24 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle8.frag.out b/Test/baseResults/spv.bufferhandle8.frag.out index 65d46653..d3725d4e 100644 --- a/Test/baseResults/spv.bufferhandle8.frag.out +++ b/Test/baseResults/spv.bufferhandle8.frag.out @@ -1,12 +1,11 @@ spv.bufferhandle8.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 27 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" diff --git a/Test/baseResults/spv.bufferhandle9.frag.out b/Test/baseResults/spv.bufferhandle9.frag.out index 1e5091c2..24dcc4ad 100644 --- a/Test/baseResults/spv.bufferhandle9.frag.out +++ b/Test/baseResults/spv.bufferhandle9.frag.out @@ -1,5 +1,5 @@ spv.bufferhandle9.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 56 @@ -7,7 +7,6 @@ spv.bufferhandle9.frag Capability Int64 Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" 16 19 diff --git a/Test/baseResults/spv.bufferhandleUvec2.frag.out b/Test/baseResults/spv.bufferhandleUvec2.frag.out index fbdbb6aa..2d4d279e 100644 --- a/Test/baseResults/spv.bufferhandleUvec2.frag.out +++ b/Test/baseResults/spv.bufferhandleUvec2.frag.out @@ -1,12 +1,11 @@ spv.bufferhandleUvec2.frag -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 71 Capability Shader Capability PhysicalStorageBufferAddressesEXT Extension "SPV_KHR_physical_storage_buffer" - Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" 16 19 diff --git a/Test/baseResults/spv.coopmat.comp.out b/Test/baseResults/spv.coopmat.comp.out index 0a609df1..16e0c764 100644 --- a/Test/baseResults/spv.coopmat.comp.out +++ b/Test/baseResults/spv.coopmat.comp.out @@ -1,5 +1,5 @@ spv.coopmat.comp -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 228 @@ -9,9 +9,7 @@ spv.coopmat.comp Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeMatrixNV - 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" 1: ExtInstImport "GLSL.std.450" diff --git a/Test/baseResults/spv.intcoopmat.comp.out b/Test/baseResults/spv.intcoopmat.comp.out index 6a697432..6ea71271 100644 --- a/Test/baseResults/spv.intcoopmat.comp.out +++ b/Test/baseResults/spv.intcoopmat.comp.out @@ -1,5 +1,5 @@ spv.intcoopmat.comp -// Module Version 10000 +// Module Version 10300 // Generated by (magic number): 8000a // Id's are bound by 262 @@ -12,7 +12,6 @@ spv.intcoopmat.comp Capability CooperativeMatrixNV 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" 1: ExtInstImport "GLSL.std.450" diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index 7554bfd7..804cf2fb 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -165,12 +165,13 @@ void TParseVersions::initializeExtensionBehavior() EShTargetLanguageVersion minSpvVersion; } extensionData; - const extensionData exts[] = { {E_GL_EXT_ray_tracing, EShTargetSpv_1_4} }; + const extensionData exts[] = { {E_GL_EXT_ray_tracing, EShTargetSpv_1_4}, + {E_GL_EXT_buffer_reference, EShTargetSpv_1_3} }; for (size_t ii = 0; ii < sizeof(exts) / sizeof(exts[0]); ii++) { // Add only extensions which require > spv1.0 to save space in map if (exts[ii].minSpvVersion > EShTargetSpv_1_0) { - extensionMinSpv[E_GL_EXT_ray_tracing] = exts[ii].minSpvVersion; + extensionMinSpv[exts[ii].extensionName] = exts[ii].minSpvVersion; } } @@ -875,7 +876,7 @@ void TParseVersions::updateExtensionBehavior(int line, const char* extension, co checkExtensionStage(getCurrentLoc(), extension); // check if extension has additional requirements - extensionRequires(getCurrentLoc(), extension ,behaviorString); + extensionRequires(getCurrentLoc(), extension, behaviorString); // update the requested extension updateExtensionBehavior(extension, behavior); diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 5456fb89..af301ad7 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -289,27 +289,6 @@ INSTANTIATE_TEST_SUITE_P( "spv.bool.vert", "spv.boolInBlock.frag", "spv.branch-return.vert", - "spv.bufferhandle1.frag", - "spv.bufferhandle10.frag", - "spv.bufferhandle11.frag", - "spv.bufferhandle12.frag", - "spv.bufferhandle13.frag", - "spv.bufferhandle14.frag", - "spv.bufferhandle15.frag", - "spv.bufferhandle16.frag", - "spv.bufferhandle17_Errors.frag", - "spv.bufferhandle18.frag", - "spv.bufferhandle19_Errors.frag", - "spv.bufferhandle2.frag", - "spv.bufferhandle3.frag", - "spv.bufferhandle4.frag", - "spv.bufferhandle5.frag", - "spv.bufferhandle6.frag", - "spv.bufferhandle7.frag", - "spv.bufferhandle8.frag", - "spv.bufferhandle9.frag", - "spv.bufferhandleUvec2.frag", - "spv.bufferhandle_Error.frag", "spv.builtInXFB.vert", "spv.conditionalDemote.frag", "spv.conditionalDiscard.frag", @@ -318,7 +297,6 @@ INSTANTIATE_TEST_SUITE_P( "spv.constConstruct.vert", "spv.controlFlowAttributes.frag", "spv.conversion.frag", - "spv.coopmat.comp", "spv.coopmat_Error.comp", "spv.dataOut.frag", "spv.dataOutIndirect.frag", @@ -353,7 +331,6 @@ INSTANTIATE_TEST_SUITE_P( "spv.GeometryShaderPassthrough.geom", "spv.interpOps.frag", "spv.int64.frag", - "spv.intcoopmat.comp", "spv.intOps.vert", "spv.layer.tese", "spv.layoutNested.vert", @@ -493,6 +470,28 @@ INSTANTIATE_TEST_SUITE_P( "spv.1.3.8bitstorage-ubo.vert", "spv.1.3.8bitstorage-ssbo.vert", "spv.1.3.coopmat.comp", + "spv.bufferhandle1.frag", + "spv.bufferhandle10.frag", + "spv.bufferhandle11.frag", + "spv.bufferhandle12.frag", + "spv.bufferhandle13.frag", + "spv.bufferhandle14.frag", + "spv.bufferhandle15.frag", + "spv.bufferhandle16.frag", + "spv.bufferhandle17_Errors.frag", + "spv.bufferhandle18.frag", + "spv.bufferhandle19_Errors.frag", + "spv.bufferhandle2.frag", + "spv.bufferhandle3.frag", + "spv.bufferhandle4.frag", + "spv.bufferhandle5.frag", + "spv.bufferhandle6.frag", + "spv.bufferhandle7.frag", + "spv.bufferhandle8.frag", + "spv.bufferhandle9.frag", + "spv.bufferhandleUvec2.frag", + "spv.bufferhandle_Error.frag", + "spv.coopmat.comp", "spv.deviceGroup.frag", "spv.drawParams.vert", "spv.int8.frag", @@ -501,6 +500,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.explicittypes.frag", "spv.float32.frag", "spv.float64.frag", + "spv.intcoopmat.comp", "spv.memoryScopeSemantics.comp", "spv.memoryScopeSemantics_Error.comp", "spv.multiView.frag",