Update minimum SPIR-V requirement
authorJeremy Hayes <jeremy@lunarg.com>
Fri, 26 Mar 2021 21:39:34 +0000 (15:39 -0600)
committerJeremy Hayes <jeremy@lunarg.com>
Mon, 29 Mar 2021 21:10:43 +0000 (15:10 -0600)
Require SPIR-V 1.3 when using GL_EXT_buffer_reference.
Migrate tests to SPIR-V 1.3 fixture as necessary.
Fix extension table key.
Fix whitespace.

22 files changed:
Test/baseResults/spv.bufferhandle1.frag.out
Test/baseResults/spv.bufferhandle10.frag.out
Test/baseResults/spv.bufferhandle11.frag.out
Test/baseResults/spv.bufferhandle12.frag.out
Test/baseResults/spv.bufferhandle13.frag.out
Test/baseResults/spv.bufferhandle14.frag.out
Test/baseResults/spv.bufferhandle15.frag.out
Test/baseResults/spv.bufferhandle16.frag.out
Test/baseResults/spv.bufferhandle18.frag.out
Test/baseResults/spv.bufferhandle2.frag.out
Test/baseResults/spv.bufferhandle3.frag.out
Test/baseResults/spv.bufferhandle4.frag.out
Test/baseResults/spv.bufferhandle5.frag.out
Test/baseResults/spv.bufferhandle6.frag.out
Test/baseResults/spv.bufferhandle7.frag.out
Test/baseResults/spv.bufferhandle8.frag.out
Test/baseResults/spv.bufferhandle9.frag.out
Test/baseResults/spv.bufferhandleUvec2.frag.out
Test/baseResults/spv.coopmat.comp.out
Test/baseResults/spv.intcoopmat.comp.out
glslang/MachineIndependent/Versions.cpp
gtests/Spv.FromFile.cpp

index b49c129..68dd483 100644 (file)
@@ -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
index f9ab60d..a376aef 100644 (file)
@@ -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
index 9dd1c7b..5d0e3a0 100644 (file)
@@ -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"
index 7cd5cb5..b547348 100644 (file)
@@ -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"
index 5ce24ac..491141a 100644 (file)
@@ -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"
index 34df753..5fef7ba 100644 (file)
@@ -1,5 +1,5 @@
 spv.bufferhandle14.frag
-// Module Version 10000
+// Module Version 10300
 // Generated by (magic number): 8000a
 // Id's are bound by 46
 
index ab1b4db..5d619e2 100644 (file)
@@ -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
index a9d9dcf..14f9609 100644 (file)
@@ -1,5 +1,5 @@
 spv.bufferhandle16.frag
-// Module Version 10000
+// Module Version 10300
 // Generated by (magic number): 8000a
 // Id's are bound by 48
 
index 59ad6d0..ea4061d 100644 (file)
@@ -1,5 +1,5 @@
 spv.bufferhandle18.frag
-// Module Version 10000
+// Module Version 10300
 // Generated by (magic number): 8000a
 // Id's are bound by 196
 
index e20f3b7..32c8e18 100644 (file)
@@ -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"
index 65ad1ca..429a857 100644 (file)
@@ -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
index e06bca4..a441f7b 100644 (file)
@@ -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"
index bf4d3a2..ebd922c 100644 (file)
@@ -1,5 +1,5 @@
 spv.bufferhandle5.frag
-// Module Version 10000
+// Module Version 10300
 // Generated by (magic number): 8000a
 // Id's are bound by 22
 
index abc9187..9367d90 100644 (file)
@@ -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
index 4282a36..65903c2 100644 (file)
@@ -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"
index 65d4665..d3725d4 100644 (file)
@@ -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"
index 1e5091c..24dcc4a 100644 (file)
@@ -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
index fbdbb6a..2d4d279 100644 (file)
@@ -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
index 0a609df..16e0c76 100644 (file)
@@ -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"
index 6a69743..6ea7127 100644 (file)
@@ -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"
index 7554bfd..804cf2f 100644 (file)
@@ -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(), extensionbehaviorString);
 
     // update the requested extension
     updateExtensionBehavior(extension, behavior);
index 5456fb8..af301ad 100644 (file)
@@ -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",