The KHR form comes along as part of 1.5, and otherwise should require another form of request to emit it.
115 lines
5.7 KiB
Plaintext
115 lines
5.7 KiB
Plaintext
spv.bufferhandle9.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80007
|
|
// Id's are bound by 56
|
|
|
|
Capability Shader
|
|
Capability Int64
|
|
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" 16 19
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_ARB_gpu_shader_int64"
|
|
SourceExtension "GL_EXT_buffer_reference"
|
|
Name 4 "main"
|
|
Name 8 "blockType"
|
|
MemberName 8(blockType) 0 "a"
|
|
MemberName 8(blockType) 1 "b"
|
|
MemberName 8(blockType) 2 "c"
|
|
MemberName 8(blockType) 3 "d"
|
|
MemberName 8(blockType) 4 "e"
|
|
Name 13 "b1"
|
|
Name 16 "h"
|
|
Name 19 "i"
|
|
Name 34 "b2"
|
|
Name 37 "b3"
|
|
Name 46 "j"
|
|
Name 53 "t2"
|
|
MemberName 53(t2) 0 "f"
|
|
MemberName 53(t2) 1 "g"
|
|
Name 55 "t"
|
|
MemberDecorate 8(blockType) 0 Offset 0
|
|
MemberDecorate 8(blockType) 1 Offset 4
|
|
MemberDecorate 8(blockType) 2 Offset 8
|
|
MemberDecorate 8(blockType) 3 Offset 12
|
|
MemberDecorate 8(blockType) 4 Offset 16
|
|
Decorate 8(blockType) Block
|
|
Decorate 13(b1) DecorationAliasedPointerEXT
|
|
Decorate 16(h) Flat
|
|
Decorate 19(i) Flat
|
|
Decorate 34(b2) DecorationAliasedPointerEXT
|
|
Decorate 37(b3) DecorationAliasedPointerEXT
|
|
MemberDecorate 53(t2) 0 Offset 0
|
|
MemberDecorate 53(t2) 1 Offset 8
|
|
Decorate 53(t2) Block
|
|
Decorate 55(t) DescriptorSet 0
|
|
Decorate 55(t) Binding 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
TypeForwardPointer 6 PhysicalStorageBufferEXT
|
|
7: TypeInt 32 1
|
|
8(blockType): TypeStruct 7(int) 7(int) 7(int) 7(int) 7(int)
|
|
6: TypePointer PhysicalStorageBufferEXT 8(blockType)
|
|
9: TypeInt 32 0
|
|
10: 9(int) Constant 2
|
|
11: TypeArray 6(ptr) 10
|
|
12: TypePointer Function 11
|
|
14: TypeInt 64 0
|
|
15: TypePointer Input 14(int64_t)
|
|
16(h): 15(ptr) Variable Input
|
|
19(i): 15(ptr) Variable Input
|
|
23: 7(int) Constant 0
|
|
24: TypePointer Function 6(ptr)
|
|
27: 7(int) Constant 1
|
|
30: TypePointer PhysicalStorageBufferEXT 7(int)
|
|
45: TypePointer Function 14(int64_t)
|
|
50: 14(int64_t) Constant 256 0
|
|
53(t2): TypeStruct 6(ptr) 6(ptr)
|
|
54: TypePointer StorageBuffer 53(t2)
|
|
55(t): 54(ptr) Variable StorageBuffer
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
13(b1): 12(ptr) Variable Function
|
|
34(b2): 24(ptr) Variable Function
|
|
37(b3): 24(ptr) Variable Function
|
|
46(j): 45(ptr) Variable Function
|
|
17: 14(int64_t) Load 16(h)
|
|
18: 6(ptr) ConvertUToPtr 17
|
|
20: 14(int64_t) Load 19(i)
|
|
21: 6(ptr) ConvertUToPtr 20
|
|
22: 11 CompositeConstruct 18 21
|
|
Store 13(b1) 22
|
|
25: 24(ptr) AccessChain 13(b1) 23
|
|
26: 6(ptr) Load 25
|
|
28: 24(ptr) AccessChain 13(b1) 27
|
|
29: 6(ptr) Load 28
|
|
31: 30(ptr) AccessChain 29 27
|
|
32: 7(int) Load 31 Aligned 4
|
|
33: 30(ptr) AccessChain 26 23
|
|
Store 33 32 Aligned 16
|
|
35: 14(int64_t) Load 16(h)
|
|
36: 6(ptr) ConvertUToPtr 35
|
|
Store 34(b2) 36
|
|
38: 14(int64_t) Load 19(i)
|
|
39: 6(ptr) ConvertUToPtr 38
|
|
Store 37(b3) 39
|
|
40: 6(ptr) Load 34(b2)
|
|
41: 6(ptr) Load 37(b3)
|
|
42: 30(ptr) AccessChain 41 27
|
|
43: 7(int) Load 42 Aligned 4
|
|
44: 30(ptr) AccessChain 40 23
|
|
Store 44 43 Aligned 16
|
|
47: 6(ptr) Load 34(b2)
|
|
48: 14(int64_t) ConvertPtrToU 47
|
|
Store 46(j) 48
|
|
49: 14(int64_t) Load 46(j)
|
|
51: 14(int64_t) IAdd 49 50
|
|
52: 6(ptr) ConvertUToPtr 51
|
|
Store 34(b2) 52
|
|
Return
|
|
FunctionEnd
|