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,84 @@
|
||||
spv.WorkgroupMemoryExplicitLayout.scalar.comp
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
Capability CapabilityWorkgroupMemoryExplicitLayoutKHR
|
||||
Extension "SPV_KHR_workgroup_memory_explicit_layout"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 28
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 430
|
||||
SourceExtension "GL_EXT_scalar_block_layout"
|
||||
SourceExtension "GL_EXT_shared_memory_block"
|
||||
Name 4 "main"
|
||||
Name 17 "T"
|
||||
MemberName 17(T) 0 "t"
|
||||
Name 24 "S"
|
||||
MemberName 24(S) 0 "f"
|
||||
MemberName 24(S) 1 "v2"
|
||||
MemberName 24(S) 2 "v3"
|
||||
MemberName 24(S) 3 "v4"
|
||||
MemberName 24(S) 4 "t"
|
||||
MemberName 24(S) 5 "f_array"
|
||||
MemberName 24(S) 6 "v2_array"
|
||||
MemberName 24(S) 7 "v3_array"
|
||||
MemberName 24(S) 8 "v4_array"
|
||||
MemberName 24(S) 9 "t_array"
|
||||
Name 26 "Block"
|
||||
MemberName 26(Block) 0 "s"
|
||||
MemberName 26(Block) 1 "s_array"
|
||||
Name 28 ""
|
||||
Decorate 10 BuiltIn WorkgroupSize
|
||||
Decorate 16 ArrayStride 4
|
||||
MemberDecorate 17(T) 0 Offset 0
|
||||
Decorate 19 ArrayStride 4
|
||||
Decorate 20 ArrayStride 8
|
||||
Decorate 21 ArrayStride 12
|
||||
Decorate 22 ArrayStride 16
|
||||
Decorate 23 ArrayStride 12
|
||||
MemberDecorate 24(S) 0 Offset 0
|
||||
MemberDecorate 24(S) 1 Offset 4
|
||||
MemberDecorate 24(S) 2 Offset 12
|
||||
MemberDecorate 24(S) 3 Offset 24
|
||||
MemberDecorate 24(S) 4 Offset 40
|
||||
MemberDecorate 24(S) 5 Offset 52
|
||||
MemberDecorate 24(S) 6 Offset 76
|
||||
MemberDecorate 24(S) 7 Offset 124
|
||||
MemberDecorate 24(S) 8 Offset 196
|
||||
MemberDecorate 24(S) 9 Offset 292
|
||||
Decorate 25 ArrayStride 364
|
||||
MemberDecorate 26(Block) 0 Offset 0
|
||||
MemberDecorate 26(Block) 1 Offset 364
|
||||
Decorate 26(Block) Block
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 3
|
||||
8: 6(int) Constant 8
|
||||
9: 6(int) Constant 1
|
||||
10: 7(ivec3) ConstantComposite 8 9 9
|
||||
11: TypeFloat 32
|
||||
12: TypeVector 11(float) 2
|
||||
13: TypeVector 11(float) 3
|
||||
14: TypeVector 11(float) 4
|
||||
15: 6(int) Constant 3
|
||||
16: TypeArray 11(float) 15
|
||||
17(T): TypeStruct 16
|
||||
18: 6(int) Constant 6
|
||||
19: TypeArray 11(float) 18
|
||||
20: TypeArray 12(fvec2) 18
|
||||
21: TypeArray 13(fvec3) 18
|
||||
22: TypeArray 14(fvec4) 18
|
||||
23: TypeArray 17(T) 18
|
||||
24(S): TypeStruct 11(float) 12(fvec2) 13(fvec3) 14(fvec4) 17(T) 19 20 21 22 23
|
||||
25: TypeArray 24(S) 18
|
||||
26(Block): TypeStruct 24(S) 25
|
||||
27: TypePointer Workgroup 26(Block)
|
||||
28: 27(ptr) Variable Workgroup
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user