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.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 24
|
||||
|
||||
Capability Shader
|
||||
Capability CapabilityWorkgroupMemoryExplicitLayoutKHR
|
||||
Extension "SPV_KHR_workgroup_memory_explicit_layout"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 9 16
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 430
|
||||
SourceExtension "GL_EXT_shared_memory_block"
|
||||
Name 4 "main"
|
||||
Name 7 "first"
|
||||
MemberName 7(first) 0 "a"
|
||||
Name 9 ""
|
||||
Name 14 "second"
|
||||
MemberName 14(second) 0 "b"
|
||||
Name 16 ""
|
||||
MemberDecorate 7(first) 0 Offset 0
|
||||
Decorate 7(first) Block
|
||||
MemberDecorate 14(second) 0 Offset 0
|
||||
Decorate 14(second) Block
|
||||
Decorate 23 BuiltIn WorkgroupSize
|
||||
Decorate 9 Aliased
|
||||
Decorate 16 Aliased
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7(first): TypeStruct 6(int)
|
||||
8: TypePointer Workgroup 7(first)
|
||||
9: 8(ptr) Variable Workgroup
|
||||
10: 6(int) Constant 0
|
||||
11: 6(int) Constant 2
|
||||
12: TypePointer Workgroup 6(int)
|
||||
14(second): TypeStruct 6(int)
|
||||
15: TypePointer Workgroup 14(second)
|
||||
16: 15(ptr) Variable Workgroup
|
||||
17: 6(int) Constant 3
|
||||
19: TypeInt 32 0
|
||||
20: TypeVector 19(int) 3
|
||||
21: 19(int) Constant 8
|
||||
22: 19(int) Constant 1
|
||||
23: 20(ivec3) ConstantComposite 21 22 22
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13: 12(ptr) AccessChain 9 10
|
||||
Store 13 11
|
||||
18: 12(ptr) AccessChain 16 10
|
||||
Store 18 17
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user