Add support for GL_EXT_shared_memory_block
Uses SPV_KHR_workgroup_memory_explicit_layout. Note that if
GL_EXT_scalar_block_layout is enabled, Workgroup blocks can also use
scalar layout.
diff --git a/Test/spv.WorkgroupMemoryExplicitLayout.scalar.comp b/Test/spv.WorkgroupMemoryExplicitLayout.scalar.comp
new file mode 100644
index 0000000..38085b4
--- /dev/null
+++ b/Test/spv.WorkgroupMemoryExplicitLayout.scalar.comp
@@ -0,0 +1,39 @@
+#version 430 core
+
+#extension GL_EXT_scalar_block_layout : enable
+#extension GL_EXT_shared_memory_block : enable
+
+layout(local_size_x = 8) in;
+
+struct T
+{
+ float t[3];
+};
+
+struct S
+{
+ float f;
+ vec2 v2;
+ vec3 v3;
+ vec4 v4;
+ T t;
+
+ float f_array[6];
+ vec2 v2_array[6];
+ vec3 v3_array[6];
+ vec4 v4_array[6];
+ T t_array[6];
+};
+
+// Use a default qualifier.
+layout(scalar) shared;
+
+shared Block
+{
+ S s;
+ S s_array[6];
+};
+
+void main()
+{
+}