mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 19:40:06 +00:00
32c169dbdf
This is part of the change to have desktop shaders respect precision qualifiers on Vulkan, but since the defaults are all highp, and that's different from ES fragment shaders, detect likely cases and warn about them (but being careful to not be too noisy if it's unlikely to be a problem).
318 lines
15 KiB
Plaintext
318 lines
15 KiB
Plaintext
spv.aggOps.frag
|
|
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
|
WARNING: 0:4: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
|
|
"precision mediump int; precision highp float;"
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 215
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 16 41 101 213
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
Name 4 "main"
|
|
Name 8 "s1"
|
|
MemberName 8(s1) 0 "i"
|
|
MemberName 8(s1) 1 "f"
|
|
Name 13 "a"
|
|
Name 16 "u"
|
|
Name 37 "b"
|
|
Name 41 "w"
|
|
Name 55 "s1"
|
|
MemberName 55(s1) 0 "i"
|
|
MemberName 55(s1) 1 "f"
|
|
Name 56 "s2"
|
|
MemberName 56(s2) 0 "i"
|
|
MemberName 56(s2) 1 "f"
|
|
MemberName 56(s2) 2 "s1_1"
|
|
Name 57 "ub1"
|
|
MemberName 57(ub1) 0 "foo2a"
|
|
Name 59 "uName1"
|
|
Name 64 "s1"
|
|
MemberName 64(s1) 0 "i"
|
|
MemberName 64(s1) 1 "f"
|
|
Name 65 "s2"
|
|
MemberName 65(s2) 0 "i"
|
|
MemberName 65(s2) 1 "f"
|
|
MemberName 65(s2) 2 "s1_1"
|
|
Name 66 "ub2"
|
|
MemberName 66(ub2) 0 "foo2b"
|
|
Name 68 "uName2"
|
|
Name 93 "v"
|
|
Name 97 "samp2D"
|
|
Name 101 "coord"
|
|
Name 213 "color"
|
|
MemberDecorate 55(s1) 0 Offset 0
|
|
MemberDecorate 55(s1) 1 Offset 4
|
|
MemberDecorate 56(s2) 0 Offset 0
|
|
MemberDecorate 56(s2) 1 Offset 4
|
|
MemberDecorate 56(s2) 2 Offset 16
|
|
MemberDecorate 57(ub1) 0 Offset 0
|
|
Decorate 57(ub1) Block
|
|
Decorate 59(uName1) DescriptorSet 0
|
|
MemberDecorate 64(s1) 0 Offset 0
|
|
MemberDecorate 64(s1) 1 Offset 4
|
|
MemberDecorate 65(s2) 0 Offset 0
|
|
MemberDecorate 65(s2) 1 Offset 4
|
|
MemberDecorate 65(s2) 2 Offset 8
|
|
MemberDecorate 66(ub2) 0 Offset 0
|
|
Decorate 66(ub2) BufferBlock
|
|
Decorate 68(uName2) DescriptorSet 0
|
|
Decorate 97(samp2D) DescriptorSet 0
|
|
Decorate 101(coord) RelaxedPrecision
|
|
Decorate 102 RelaxedPrecision
|
|
Decorate 107 RelaxedPrecision
|
|
Decorate 108 RelaxedPrecision
|
|
Decorate 129 RelaxedPrecision
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypeFloat 32
|
|
8(s1): TypeStruct 6(int) 7(float)
|
|
9: TypeInt 32 0
|
|
10: 9(int) Constant 3
|
|
11: TypeArray 8(s1) 10
|
|
12: TypePointer Function 11
|
|
14: TypeVector 7(float) 4
|
|
15: TypePointer Input 14(fvec4)
|
|
16(u): 15(ptr) Variable Input
|
|
17: 9(int) Constant 0
|
|
18: TypePointer Input 7(float)
|
|
22: 9(int) Constant 1
|
|
26: 9(int) Constant 2
|
|
33: 6(int) Constant 14
|
|
34: 7(float) Constant 1096810496
|
|
35: 8(s1) ConstantComposite 33 34
|
|
38: 6(int) Constant 17
|
|
39: 7(float) Constant 1099431936
|
|
40: 8(s1) ConstantComposite 38 39
|
|
41(w): 15(ptr) Variable Input
|
|
55(s1): TypeStruct 6(int) 7(float)
|
|
56(s2): TypeStruct 6(int) 7(float) 55(s1)
|
|
57(ub1): TypeStruct 56(s2)
|
|
58: TypePointer Uniform 57(ub1)
|
|
59(uName1): 58(ptr) Variable Uniform
|
|
60: 6(int) Constant 0
|
|
61: TypePointer Uniform 56(s2)
|
|
64(s1): TypeStruct 6(int) 7(float)
|
|
65(s2): TypeStruct 6(int) 7(float) 64(s1)
|
|
66(ub2): TypeStruct 65(s2)
|
|
67: TypePointer Uniform 66(ub2)
|
|
68(uName2): 67(ptr) Variable Uniform
|
|
69: TypePointer Uniform 65(s2)
|
|
72: TypeBool
|
|
92: TypePointer Function 14(fvec4)
|
|
94: TypeImage 7(float) 2D sampled format:Unknown
|
|
95: TypeSampledImage 94
|
|
96: TypePointer UniformConstant 95
|
|
97(samp2D): 96(ptr) Variable UniformConstant
|
|
99: TypeVector 7(float) 2
|
|
100: TypePointer Input 99(fvec2)
|
|
101(coord): 100(ptr) Variable Input
|
|
106: 7(float) Constant 1073741824
|
|
112: TypeVector 72(bool) 4
|
|
117: 7(float) Constant 1077936128
|
|
126: 7(float) Constant 1082130432
|
|
132: TypeVector 72(bool) 2
|
|
137: 7(float) Constant 1084227584
|
|
173: 7(float) Constant 1086324736
|
|
209: 7(float) Constant 1088421888
|
|
212: TypePointer Output 14(fvec4)
|
|
213(color): 212(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
13(a): 12(ptr) Variable Function
|
|
37(b): 12(ptr) Variable Function
|
|
93(v): 92(ptr) Variable Function
|
|
19: 18(ptr) AccessChain 16(u) 17
|
|
20: 7(float) Load 19
|
|
21: 6(int) ConvertFToS 20
|
|
23: 18(ptr) AccessChain 16(u) 22
|
|
24: 7(float) Load 23
|
|
25: 8(s1) CompositeConstruct 21 24
|
|
27: 18(ptr) AccessChain 16(u) 26
|
|
28: 7(float) Load 27
|
|
29: 6(int) ConvertFToS 28
|
|
30: 18(ptr) AccessChain 16(u) 10
|
|
31: 7(float) Load 30
|
|
32: 8(s1) CompositeConstruct 29 31
|
|
36: 11 CompositeConstruct 25 32 35
|
|
Store 13(a) 36
|
|
42: 18(ptr) AccessChain 41(w) 17
|
|
43: 7(float) Load 42
|
|
44: 6(int) ConvertFToS 43
|
|
45: 18(ptr) AccessChain 41(w) 22
|
|
46: 7(float) Load 45
|
|
47: 8(s1) CompositeConstruct 44 46
|
|
48: 18(ptr) AccessChain 41(w) 26
|
|
49: 7(float) Load 48
|
|
50: 6(int) ConvertFToS 49
|
|
51: 18(ptr) AccessChain 41(w) 10
|
|
52: 7(float) Load 51
|
|
53: 8(s1) CompositeConstruct 50 52
|
|
54: 11 CompositeConstruct 40 47 53
|
|
Store 37(b) 54
|
|
62: 61(ptr) AccessChain 59(uName1) 60
|
|
63: 56(s2) Load 62
|
|
70: 69(ptr) AccessChain 68(uName2) 60
|
|
71: 65(s2) Load 70
|
|
73: 6(int) CompositeExtract 63 0
|
|
74: 6(int) CompositeExtract 71 0
|
|
75: 72(bool) IEqual 73 74
|
|
76: 7(float) CompositeExtract 63 1
|
|
77: 7(float) CompositeExtract 71 1
|
|
78: 72(bool) FOrdEqual 76 77
|
|
79: 72(bool) LogicalAnd 75 78
|
|
80: 55(s1) CompositeExtract 63 2
|
|
81: 64(s1) CompositeExtract 71 2
|
|
82: 6(int) CompositeExtract 80 0
|
|
83: 6(int) CompositeExtract 81 0
|
|
84: 72(bool) IEqual 82 83
|
|
85: 7(float) CompositeExtract 80 1
|
|
86: 7(float) CompositeExtract 81 1
|
|
87: 72(bool) FOrdEqual 85 86
|
|
88: 72(bool) LogicalAnd 84 87
|
|
89: 72(bool) LogicalAnd 79 88
|
|
SelectionMerge 91 None
|
|
BranchConditional 89 90 104
|
|
90: Label
|
|
98: 95 Load 97(samp2D)
|
|
102: 99(fvec2) Load 101(coord)
|
|
103: 14(fvec4) ImageSampleImplicitLod 98 102
|
|
Store 93(v) 103
|
|
Branch 91
|
|
104: Label
|
|
105: 95 Load 97(samp2D)
|
|
107: 99(fvec2) Load 101(coord)
|
|
108: 99(fvec2) VectorTimesScalar 107 106
|
|
109: 14(fvec4) ImageSampleImplicitLod 105 108
|
|
Store 93(v) 109
|
|
Branch 91
|
|
91: Label
|
|
110: 14(fvec4) Load 16(u)
|
|
111: 14(fvec4) Load 93(v)
|
|
113: 112(bvec4) FOrdEqual 110 111
|
|
114: 72(bool) All 113
|
|
SelectionMerge 116 None
|
|
BranchConditional 114 115 116
|
|
115: Label
|
|
118: 14(fvec4) Load 93(v)
|
|
119: 14(fvec4) VectorTimesScalar 118 117
|
|
Store 93(v) 119
|
|
Branch 116
|
|
116: Label
|
|
120: 14(fvec4) Load 16(u)
|
|
121: 14(fvec4) Load 93(v)
|
|
122: 112(bvec4) FOrdNotEqual 120 121
|
|
123: 72(bool) Any 122
|
|
SelectionMerge 125 None
|
|
BranchConditional 123 124 125
|
|
124: Label
|
|
127: 14(fvec4) Load 93(v)
|
|
128: 14(fvec4) VectorTimesScalar 127 126
|
|
Store 93(v) 128
|
|
Branch 125
|
|
125: Label
|
|
129: 99(fvec2) Load 101(coord)
|
|
130: 14(fvec4) Load 93(v)
|
|
131: 99(fvec2) VectorShuffle 130 130 1 3
|
|
133: 132(bvec2) FOrdEqual 129 131
|
|
134: 72(bool) All 133
|
|
SelectionMerge 136 None
|
|
BranchConditional 134 135 136
|
|
135: Label
|
|
138: 14(fvec4) Load 93(v)
|
|
139: 14(fvec4) VectorTimesScalar 138 137
|
|
Store 93(v) 139
|
|
Branch 136
|
|
136: Label
|
|
140: 11 Load 13(a)
|
|
141: 11 Load 37(b)
|
|
142: 8(s1) CompositeExtract 140 0
|
|
143: 8(s1) CompositeExtract 141 0
|
|
144: 6(int) CompositeExtract 142 0
|
|
145: 6(int) CompositeExtract 143 0
|
|
146: 72(bool) IEqual 144 145
|
|
147: 7(float) CompositeExtract 142 1
|
|
148: 7(float) CompositeExtract 143 1
|
|
149: 72(bool) FOrdEqual 147 148
|
|
150: 72(bool) LogicalAnd 146 149
|
|
151: 8(s1) CompositeExtract 140 1
|
|
152: 8(s1) CompositeExtract 141 1
|
|
153: 6(int) CompositeExtract 151 0
|
|
154: 6(int) CompositeExtract 152 0
|
|
155: 72(bool) IEqual 153 154
|
|
156: 7(float) CompositeExtract 151 1
|
|
157: 7(float) CompositeExtract 152 1
|
|
158: 72(bool) FOrdEqual 156 157
|
|
159: 72(bool) LogicalAnd 155 158
|
|
160: 72(bool) LogicalAnd 150 159
|
|
161: 8(s1) CompositeExtract 140 2
|
|
162: 8(s1) CompositeExtract 141 2
|
|
163: 6(int) CompositeExtract 161 0
|
|
164: 6(int) CompositeExtract 162 0
|
|
165: 72(bool) IEqual 163 164
|
|
166: 7(float) CompositeExtract 161 1
|
|
167: 7(float) CompositeExtract 162 1
|
|
168: 72(bool) FOrdEqual 166 167
|
|
169: 72(bool) LogicalAnd 165 168
|
|
170: 72(bool) LogicalAnd 160 169
|
|
SelectionMerge 172 None
|
|
BranchConditional 170 171 172
|
|
171: Label
|
|
174: 14(fvec4) Load 93(v)
|
|
175: 14(fvec4) VectorTimesScalar 174 173
|
|
Store 93(v) 175
|
|
Branch 172
|
|
172: Label
|
|
176: 11 Load 13(a)
|
|
177: 11 Load 37(b)
|
|
178: 8(s1) CompositeExtract 176 0
|
|
179: 8(s1) CompositeExtract 177 0
|
|
180: 6(int) CompositeExtract 178 0
|
|
181: 6(int) CompositeExtract 179 0
|
|
182: 72(bool) INotEqual 180 181
|
|
183: 7(float) CompositeExtract 178 1
|
|
184: 7(float) CompositeExtract 179 1
|
|
185: 72(bool) FOrdNotEqual 183 184
|
|
186: 72(bool) LogicalOr 182 185
|
|
187: 8(s1) CompositeExtract 176 1
|
|
188: 8(s1) CompositeExtract 177 1
|
|
189: 6(int) CompositeExtract 187 0
|
|
190: 6(int) CompositeExtract 188 0
|
|
191: 72(bool) INotEqual 189 190
|
|
192: 7(float) CompositeExtract 187 1
|
|
193: 7(float) CompositeExtract 188 1
|
|
194: 72(bool) FOrdNotEqual 192 193
|
|
195: 72(bool) LogicalOr 191 194
|
|
196: 72(bool) LogicalOr 186 195
|
|
197: 8(s1) CompositeExtract 176 2
|
|
198: 8(s1) CompositeExtract 177 2
|
|
199: 6(int) CompositeExtract 197 0
|
|
200: 6(int) CompositeExtract 198 0
|
|
201: 72(bool) INotEqual 199 200
|
|
202: 7(float) CompositeExtract 197 1
|
|
203: 7(float) CompositeExtract 198 1
|
|
204: 72(bool) FOrdNotEqual 202 203
|
|
205: 72(bool) LogicalOr 201 204
|
|
206: 72(bool) LogicalOr 196 205
|
|
SelectionMerge 208 None
|
|
BranchConditional 206 207 208
|
|
207: Label
|
|
210: 14(fvec4) Load 93(v)
|
|
211: 14(fvec4) VectorTimesScalar 210 209
|
|
Store 93(v) 211
|
|
Branch 208
|
|
208: Label
|
|
214: 14(fvec4) Load 93(v)
|
|
Store 213(color) 214
|
|
Return
|
|
FunctionEnd
|