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