mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
239 lines
12 KiB
Plaintext
239 lines
12 KiB
Plaintext
spv.bufferhandle6.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 165
|
|
|
|
Capability Shader
|
|
Capability PhysicalStorageBufferAddressesEXT
|
|
Extension "SPV_KHR_physical_storage_buffer"
|
|
Extension "SPV_KHR_storage_buffer_storage_class"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel PhysicalStorageBuffer64EXT GLSL450
|
|
EntryPoint Fragment 4 "main" 154
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_buffer_reference"
|
|
Name 4 "main"
|
|
Name 8 "accum"
|
|
Name 15 "T1"
|
|
MemberName 15(T1) 0 "a"
|
|
MemberName 15(T1) 1 "b"
|
|
MemberName 15(T1) 2 "c"
|
|
MemberName 15(T1) 3 "d"
|
|
Name 18 "T1"
|
|
MemberName 18(T1) 0 "a"
|
|
MemberName 18(T1) 1 "b"
|
|
MemberName 18(T1) 2 "c"
|
|
MemberName 18(T1) 3 "d"
|
|
Name 21 "x"
|
|
Name 30 "Block"
|
|
MemberName 30(Block) 0 "identity"
|
|
Name 32 "pc"
|
|
Name 136 "color"
|
|
Name 149 "image0_0"
|
|
Name 154 "gl_FragCoord"
|
|
Decorate 12 ArrayStride 4
|
|
Decorate 14 ArrayStride 8
|
|
MemberDecorate 15(T1) 0 Offset 0
|
|
MemberDecorate 15(T1) 1 Offset 32
|
|
MemberDecorate 15(T1) 2 Offset 48
|
|
MemberDecorate 15(T1) 3 Offset 80
|
|
Decorate 15(T1) Block
|
|
Decorate 16 ArrayStride 4
|
|
Decorate 17 ArrayStride 8
|
|
MemberDecorate 18(T1) 0 Offset 0
|
|
MemberDecorate 18(T1) 1 Offset 32
|
|
MemberDecorate 18(T1) 2 Offset 48
|
|
MemberDecorate 18(T1) 3 Offset 80
|
|
Decorate 18(T1) Block
|
|
Decorate 19 ArrayStride 8
|
|
Decorate 21(x) DescriptorSet 3
|
|
Decorate 21(x) Binding 1
|
|
Decorate 29 ArrayStride 4
|
|
MemberDecorate 30(Block) 0 Offset 0
|
|
Decorate 30(Block) Block
|
|
Decorate 149(image0_0) DescriptorSet 3
|
|
Decorate 149(image0_0) Binding 0
|
|
Decorate 154(gl_FragCoord) BuiltIn FragCoord
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypePointer Function 6(int)
|
|
9: 6(int) Constant 0
|
|
10: TypeInt 32 0
|
|
11: 10(int) Constant 2
|
|
12: TypeArray 6(int) 11
|
|
TypeForwardPointer 13 PhysicalStorageBufferEXT
|
|
14: TypeArray 13 11
|
|
15(T1): TypeStruct 12 6(int) 14 13
|
|
16: TypeArray 6(int) 11
|
|
17: TypeArray 13 11
|
|
18(T1): TypeStruct 16 6(int) 17 13
|
|
13: TypePointer PhysicalStorageBufferEXT 18(T1)
|
|
19: TypeArray 13(ptr) 11
|
|
20: TypePointer StorageBuffer 15(T1)
|
|
21(x): 20(ptr) Variable StorageBuffer
|
|
22: TypePointer StorageBuffer 6(int)
|
|
28: 10(int) Constant 32
|
|
29: TypeArray 6(int) 28
|
|
30(Block): TypeStruct 29
|
|
31: TypePointer PushConstant 30(Block)
|
|
32(pc): 31(ptr) Variable PushConstant
|
|
33: 6(int) Constant 1
|
|
34: TypePointer PushConstant 6(int)
|
|
44: 6(int) Constant 2
|
|
48: TypePointer StorageBuffer 13(ptr)
|
|
51: TypePointer PhysicalStorageBufferEXT 6(int)
|
|
54: 6(int) Constant 3
|
|
64: 6(int) Constant 4
|
|
72: 6(int) Constant 5
|
|
82: 6(int) Constant 6
|
|
94: 6(int) Constant 7
|
|
104: 6(int) Constant 8
|
|
112: 6(int) Constant 9
|
|
122: 6(int) Constant 10
|
|
130: 6(int) Constant 11
|
|
134: TypeVector 10(int) 4
|
|
135: TypePointer Function 134(ivec4)
|
|
138: TypeBool
|
|
140: 10(int) Constant 0
|
|
141: 134(ivec4) ConstantComposite 140 140 140 140
|
|
142: 10(int) Constant 1
|
|
143: 134(ivec4) ConstantComposite 142 140 140 142
|
|
144: TypeVector 138(bool) 4
|
|
147: TypeImage 10(int) 2D nonsampled format:R32ui
|
|
148: TypePointer UniformConstant 147
|
|
149(image0_0): 148(ptr) Variable UniformConstant
|
|
151: TypeFloat 32
|
|
152: TypeVector 151(float) 4
|
|
153: TypePointer Input 152(fvec4)
|
|
154(gl_FragCoord): 153(ptr) Variable Input
|
|
155: TypePointer Input 151(float)
|
|
162: TypeVector 6(int) 2
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(accum): 7(ptr) Variable Function
|
|
136(color): 135(ptr) Variable Function
|
|
Store 8(accum) 9
|
|
23: 22(ptr) AccessChain 21(x) 9 9
|
|
24: 6(int) Load 23
|
|
25: 6(int) ISub 24 9
|
|
26: 6(int) Load 8(accum)
|
|
27: 6(int) BitwiseOr 26 25
|
|
Store 8(accum) 27
|
|
35: 34(ptr) AccessChain 32(pc) 9 33
|
|
36: 6(int) Load 35
|
|
37: 22(ptr) AccessChain 21(x) 9 36
|
|
38: 6(int) Load 37
|
|
39: 6(int) ISub 38 33
|
|
40: 6(int) Load 8(accum)
|
|
41: 6(int) BitwiseOr 40 39
|
|
Store 8(accum) 41
|
|
42: 22(ptr) AccessChain 21(x) 33
|
|
43: 6(int) Load 42
|
|
45: 6(int) ISub 43 44
|
|
46: 6(int) Load 8(accum)
|
|
47: 6(int) BitwiseOr 46 45
|
|
Store 8(accum) 47
|
|
49: 48(ptr) AccessChain 21(x) 44 9
|
|
50: 13(ptr) Load 49
|
|
52: 51(ptr) AccessChain 50 9 9
|
|
53: 6(int) Load 52 Aligned 4
|
|
55: 6(int) ISub 53 54
|
|
56: 6(int) Load 8(accum)
|
|
57: 6(int) BitwiseOr 56 55
|
|
Store 8(accum) 57
|
|
58: 48(ptr) AccessChain 21(x) 44 9
|
|
59: 13(ptr) Load 58
|
|
60: 34(ptr) AccessChain 32(pc) 9 33
|
|
61: 6(int) Load 60
|
|
62: 51(ptr) AccessChain 59 9 61
|
|
63: 6(int) Load 62 Aligned 4
|
|
65: 6(int) ISub 63 64
|
|
66: 6(int) Load 8(accum)
|
|
67: 6(int) BitwiseOr 66 65
|
|
Store 8(accum) 67
|
|
68: 48(ptr) AccessChain 21(x) 44 9
|
|
69: 13(ptr) Load 68
|
|
70: 51(ptr) AccessChain 69 33
|
|
71: 6(int) Load 70 Aligned 16
|
|
73: 6(int) ISub 71 72
|
|
74: 6(int) Load 8(accum)
|
|
75: 6(int) BitwiseOr 74 73
|
|
Store 8(accum) 75
|
|
76: 34(ptr) AccessChain 32(pc) 9 33
|
|
77: 6(int) Load 76
|
|
78: 48(ptr) AccessChain 21(x) 44 77
|
|
79: 13(ptr) Load 78
|
|
80: 51(ptr) AccessChain 79 9 9
|
|
81: 6(int) Load 80 Aligned 4
|
|
83: 6(int) ISub 81 82
|
|
84: 6(int) Load 8(accum)
|
|
85: 6(int) BitwiseOr 84 83
|
|
Store 8(accum) 85
|
|
86: 34(ptr) AccessChain 32(pc) 9 33
|
|
87: 6(int) Load 86
|
|
88: 48(ptr) AccessChain 21(x) 44 87
|
|
89: 13(ptr) Load 88
|
|
90: 34(ptr) AccessChain 32(pc) 9 33
|
|
91: 6(int) Load 90
|
|
92: 51(ptr) AccessChain 89 9 91
|
|
93: 6(int) Load 92 Aligned 4
|
|
95: 6(int) ISub 93 94
|
|
96: 6(int) Load 8(accum)
|
|
97: 6(int) BitwiseOr 96 95
|
|
Store 8(accum) 97
|
|
98: 34(ptr) AccessChain 32(pc) 9 33
|
|
99: 6(int) Load 98
|
|
100: 48(ptr) AccessChain 21(x) 44 99
|
|
101: 13(ptr) Load 100
|
|
102: 51(ptr) AccessChain 101 33
|
|
103: 6(int) Load 102 Aligned 16
|
|
105: 6(int) ISub 103 104
|
|
106: 6(int) Load 8(accum)
|
|
107: 6(int) BitwiseOr 106 105
|
|
Store 8(accum) 107
|
|
108: 48(ptr) AccessChain 21(x) 54
|
|
109: 13(ptr) Load 108
|
|
110: 51(ptr) AccessChain 109 9 9
|
|
111: 6(int) Load 110 Aligned 4
|
|
113: 6(int) ISub 111 112
|
|
114: 6(int) Load 8(accum)
|
|
115: 6(int) BitwiseOr 114 113
|
|
Store 8(accum) 115
|
|
116: 48(ptr) AccessChain 21(x) 54
|
|
117: 13(ptr) Load 116
|
|
118: 34(ptr) AccessChain 32(pc) 9 33
|
|
119: 6(int) Load 118
|
|
120: 51(ptr) AccessChain 117 9 119
|
|
121: 6(int) Load 120 Aligned 4
|
|
123: 6(int) ISub 121 122
|
|
124: 6(int) Load 8(accum)
|
|
125: 6(int) BitwiseOr 124 123
|
|
Store 8(accum) 125
|
|
126: 48(ptr) AccessChain 21(x) 54
|
|
127: 13(ptr) Load 126
|
|
128: 51(ptr) AccessChain 127 33
|
|
129: 6(int) Load 128 Aligned 16
|
|
131: 6(int) ISub 129 130
|
|
132: 6(int) Load 8(accum)
|
|
133: 6(int) BitwiseOr 132 131
|
|
Store 8(accum) 133
|
|
137: 6(int) Load 8(accum)
|
|
139: 138(bool) INotEqual 137 9
|
|
145: 144(bvec4) CompositeConstruct 139 139 139 139
|
|
146: 134(ivec4) Select 145 141 143
|
|
Store 136(color) 146
|
|
150: 147 Load 149(image0_0)
|
|
156: 155(ptr) AccessChain 154(gl_FragCoord) 140
|
|
157: 151(float) Load 156
|
|
158: 6(int) ConvertFToS 157
|
|
159: 155(ptr) AccessChain 154(gl_FragCoord) 142
|
|
160: 151(float) Load 159
|
|
161: 6(int) ConvertFToS 160
|
|
163: 162(ivec2) CompositeConstruct 158 161
|
|
164: 134(ivec4) Load 136(color)
|
|
ImageWrite 150 163 164
|
|
Return
|
|
FunctionEnd
|