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,41 @@
|
||||
spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 19
|
||||
|
||||
Capability Shader
|
||||
Capability CapabilityWorkgroupMemoryExplicitLayoutKHR
|
||||
Extension "SPV_KHR_workgroup_memory_explicit_layout"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 9
|
||||
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 ""
|
||||
MemberDecorate 7(first) 0 Offset 0
|
||||
Decorate 7(first) Block
|
||||
Decorate 18 BuiltIn WorkgroupSize
|
||||
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: TypeInt 32 0
|
||||
15: TypeVector 14(int) 3
|
||||
16: 14(int) Constant 8
|
||||
17: 14(int) Constant 1
|
||||
18: 15(ivec3) ConstantComposite 16 17 17
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13: 12(ptr) AccessChain 9 10
|
||||
Store 13 11
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user