The KHR form comes along as part of 1.5, and otherwise should require another form of request to emit it.
106 lines
5.4 KiB
Plaintext
106 lines
5.4 KiB
Plaintext
spv.bufferhandle3.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80007
|
|
// Id's are bound by 50
|
|
|
|
Capability Shader
|
|
Capability PhysicalStorageBufferAddressesEXT
|
|
Extension "SPV_EXT_physical_storage_buffer"
|
|
Extension "SPV_KHR_storage_buffer_storage_class"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel PhysicalStorageBuffer64EXT GLSL450
|
|
EntryPoint Fragment 4 "main" 42
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_buffer_reference"
|
|
Name 4 "main"
|
|
Name 9 "t4"
|
|
MemberName 9(t4) 0 "j"
|
|
MemberName 9(t4) 1 "k"
|
|
Name 10 "t3"
|
|
MemberName 10(t3) 0 "h"
|
|
Name 14 "foo(1;"
|
|
Name 13 "y"
|
|
Name 19 "t5"
|
|
MemberName 19(t5) 0 "m"
|
|
Name 21 "s5"
|
|
Name 23 "param"
|
|
Name 38 "t4"
|
|
MemberName 38(t4) 0 "j"
|
|
MemberName 38(t4) 1 "k"
|
|
Name 40 "x"
|
|
Name 42 "k"
|
|
MemberDecorate 9(t4) 0 Offset 0
|
|
MemberDecorate 9(t4) 1 Offset 8
|
|
Decorate 9(t4) Block
|
|
MemberDecorate 10(t3) 0 Offset 0
|
|
Decorate 10(t3) Block
|
|
Decorate 13(y) DecorationAliasedPointerEXT
|
|
MemberDecorate 19(t5) 0 Offset 0
|
|
Decorate 19(t5) Block
|
|
Decorate 21(s5) DescriptorSet 0
|
|
Decorate 21(s5) Binding 0
|
|
MemberDecorate 38(t4) 0 Offset 0
|
|
MemberDecorate 38(t4) 1 Offset 8
|
|
Decorate 38(t4) Block
|
|
Decorate 40(x) DescriptorSet 1
|
|
Decorate 40(x) Binding 2
|
|
Decorate 42(k) Flat
|
|
Decorate 42(k) DecorationAliasedPointerEXT
|
|
Decorate 23(param) DecorationAliasedPointerEXT
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
TypeForwardPointer 6 PhysicalStorageBufferEXT
|
|
7: TypeInt 32 1
|
|
TypeForwardPointer 8 PhysicalStorageBufferEXT
|
|
9(t4): TypeStruct 7(int) 8
|
|
10(t3): TypeStruct 7(int)
|
|
8: TypePointer PhysicalStorageBufferEXT 10(t3)
|
|
6: TypePointer PhysicalStorageBufferEXT 9(t4)
|
|
11: TypePointer Function 6(ptr)
|
|
12: TypeFunction 6(ptr) 11(ptr)
|
|
19(t5): TypeStruct 6(ptr)
|
|
20: TypePointer StorageBuffer 19(t5)
|
|
21(s5): 20(ptr) Variable StorageBuffer
|
|
22: 7(int) Constant 0
|
|
24: TypePointer StorageBuffer 6(ptr)
|
|
30: 7(int) Constant 1
|
|
31: TypePointer PhysicalStorageBufferEXT 8(ptr)
|
|
34: TypePointer PhysicalStorageBufferEXT 7(int)
|
|
38(t4): TypeStruct 7(int) 8(ptr)
|
|
39: TypePointer StorageBuffer 38(t4)
|
|
40(x): 39(ptr) Variable StorageBuffer
|
|
41: TypePointer Input 6(ptr)
|
|
42(k): 41(ptr) Variable Input
|
|
48: TypePointer StorageBuffer 7(int)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
23(param): 11(ptr) Variable Function
|
|
25: 24(ptr) AccessChain 21(s5) 22
|
|
26: 6(ptr) Load 25
|
|
Store 23(param) 26
|
|
27: 6(ptr) FunctionCall 14(foo(1;) 23(param)
|
|
28: 24(ptr) AccessChain 21(s5) 22
|
|
29: 6(ptr) Load 28
|
|
32: 31(ptr) AccessChain 29 30
|
|
33: 8(ptr) Load 32 Aligned 8
|
|
35: 34(ptr) AccessChain 33 22
|
|
36: 7(int) Load 35 Aligned 16
|
|
37: 34(ptr) AccessChain 27 22
|
|
Store 37 36 Aligned 16
|
|
43: 6(ptr) Load 42(k)
|
|
44: 31(ptr) AccessChain 43 30
|
|
45: 8(ptr) Load 44 Aligned 8
|
|
46: 34(ptr) AccessChain 45 22
|
|
47: 7(int) Load 46 Aligned 16
|
|
49: 48(ptr) AccessChain 40(x) 22
|
|
Store 49 47
|
|
Return
|
|
FunctionEnd
|
|
14(foo(1;): 6(ptr) Function None 12
|
|
13(y): 11(ptr) FunctionParameter
|
|
15: Label
|
|
16: 6(ptr) Load 13(y)
|
|
ReturnValue 16
|
|
FunctionEnd
|