glslang -> SPV: Improvements in swizzles on access chains: Bug 14007 (wrong type), simplications, tests, support mixed swizzle with dynamic component selection.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31277 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
324
Test/baseResults/spv.accessChain.frag.out
Normal file
324
Test/baseResults/spv.accessChain.frag.out
Normal file
@@ -0,0 +1,324 @@
|
||||
spv.accessChain.frag
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 198
|
||||
|
||||
Source GLSL 420
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "S"
|
||||
MemberName 9(S) 0 "color"
|
||||
Name 12 "GetColor1(struct-S-vf31;"
|
||||
Name 11 "i"
|
||||
Name 19 "GetColor2(struct-S-vf31;i1;"
|
||||
Name 17 "i"
|
||||
Name 18 "comp"
|
||||
Name 23 "GetColor3(struct-S-vf31;i1;"
|
||||
Name 21 "i"
|
||||
Name 22 "comp"
|
||||
Name 27 "GetColor4(struct-S-vf31;i1;"
|
||||
Name 25 "i"
|
||||
Name 26 "comp"
|
||||
Name 31 "GetColor5(struct-S-vf31;i1;"
|
||||
Name 29 "i"
|
||||
Name 30 "comp"
|
||||
Name 35 "GetColor6(struct-S-vf31;i1;"
|
||||
Name 33 "i"
|
||||
Name 34 "comp"
|
||||
Name 39 "GetColor7(struct-S-vf31;i1;"
|
||||
Name 37 "i"
|
||||
Name 38 "comp"
|
||||
Name 43 "GetColor8(struct-S-vf31;i1;"
|
||||
Name 41 "i"
|
||||
Name 42 "comp"
|
||||
Name 47 "GetColor9(struct-S-vf31;i1;"
|
||||
Name 45 "i"
|
||||
Name 46 "comp"
|
||||
Name 51 "GetColor10(struct-S-vf31;i1;"
|
||||
Name 49 "i"
|
||||
Name 50 "comp"
|
||||
Name 55 "GetColor11(struct-S-vf31;i1;"
|
||||
Name 53 "i"
|
||||
Name 54 "comp"
|
||||
Name 59 "GetColor12(struct-S-vf31;i1;"
|
||||
Name 57 "i"
|
||||
Name 58 "comp"
|
||||
Name 63 "GetColor13(struct-S-vf31;i1;"
|
||||
Name 61 "i"
|
||||
Name 62 "comp"
|
||||
Name 66 "OutColor"
|
||||
Name 145 "s"
|
||||
Name 150 "u"
|
||||
Name 151 "param"
|
||||
Name 155 "param"
|
||||
Name 159 "param"
|
||||
Name 163 "param"
|
||||
Name 167 "param"
|
||||
Name 171 "param"
|
||||
Name 175 "param"
|
||||
Name 179 "param"
|
||||
Name 183 "param"
|
||||
Name 187 "param"
|
||||
Name 191 "param"
|
||||
Name 195 "param"
|
||||
Decorate 66(OutColor) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 3
|
||||
9(S): TypeStruct 8(fvec3)
|
||||
10: TypeFunction 2 9(S)
|
||||
14: TypeInt 32 1
|
||||
15: TypePointer Function 14(int)
|
||||
16: TypeFunction 2 9(S) 15(ptr)
|
||||
65: TypePointer Output 8(fvec3)
|
||||
66(OutColor): 65(ptr) Variable Output
|
||||
67: 14(int) Constant 0
|
||||
68: TypeInt 32 0
|
||||
69: 68(int) Constant 0
|
||||
97: TypeVector 7(float) 2
|
||||
110: 68(int) Constant 2
|
||||
142: 7(float) Constant 0
|
||||
143: 8(fvec3) ConstantComposite 142 142 142
|
||||
144: TypePointer Function 9(S)
|
||||
149: TypePointer UniformConstant 14(int)
|
||||
150(u): 149(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
145(s): 144(ptr) Variable Function
|
||||
151(param): 15(ptr) Variable Function
|
||||
155(param): 15(ptr) Variable Function
|
||||
159(param): 15(ptr) Variable Function
|
||||
163(param): 15(ptr) Variable Function
|
||||
167(param): 15(ptr) Variable Function
|
||||
171(param): 15(ptr) Variable Function
|
||||
175(param): 15(ptr) Variable Function
|
||||
179(param): 15(ptr) Variable Function
|
||||
183(param): 15(ptr) Variable Function
|
||||
187(param): 15(ptr) Variable Function
|
||||
191(param): 15(ptr) Variable Function
|
||||
195(param): 15(ptr) Variable Function
|
||||
Store 66(OutColor) 143
|
||||
146: 9(S) Load 145(s)
|
||||
147: 2 FunctionCall 12(GetColor1(struct-S-vf31;) 146
|
||||
148: 9(S) Load 145(s)
|
||||
152: 14(int) Load 150(u)
|
||||
Store 151(param) 152
|
||||
153: 2 FunctionCall 19(GetColor2(struct-S-vf31;i1;) 148 151(param)
|
||||
154: 9(S) Load 145(s)
|
||||
156: 14(int) Load 150(u)
|
||||
Store 155(param) 156
|
||||
157: 2 FunctionCall 23(GetColor3(struct-S-vf31;i1;) 154 155(param)
|
||||
158: 9(S) Load 145(s)
|
||||
160: 14(int) Load 150(u)
|
||||
Store 159(param) 160
|
||||
161: 2 FunctionCall 27(GetColor4(struct-S-vf31;i1;) 158 159(param)
|
||||
162: 9(S) Load 145(s)
|
||||
164: 14(int) Load 150(u)
|
||||
Store 163(param) 164
|
||||
165: 2 FunctionCall 31(GetColor5(struct-S-vf31;i1;) 162 163(param)
|
||||
166: 9(S) Load 145(s)
|
||||
168: 14(int) Load 150(u)
|
||||
Store 167(param) 168
|
||||
169: 2 FunctionCall 35(GetColor6(struct-S-vf31;i1;) 166 167(param)
|
||||
170: 9(S) Load 145(s)
|
||||
172: 14(int) Load 150(u)
|
||||
Store 171(param) 172
|
||||
173: 2 FunctionCall 39(GetColor7(struct-S-vf31;i1;) 170 171(param)
|
||||
174: 9(S) Load 145(s)
|
||||
176: 14(int) Load 150(u)
|
||||
Store 175(param) 176
|
||||
177: 2 FunctionCall 43(GetColor8(struct-S-vf31;i1;) 174 175(param)
|
||||
178: 9(S) Load 145(s)
|
||||
180: 14(int) Load 150(u)
|
||||
Store 179(param) 180
|
||||
181: 2 FunctionCall 47(GetColor9(struct-S-vf31;i1;) 178 179(param)
|
||||
182: 9(S) Load 145(s)
|
||||
184: 14(int) Load 150(u)
|
||||
Store 183(param) 184
|
||||
185: 2 FunctionCall 51(GetColor10(struct-S-vf31;i1;) 182 183(param)
|
||||
186: 9(S) Load 145(s)
|
||||
188: 14(int) Load 150(u)
|
||||
Store 187(param) 188
|
||||
189: 2 FunctionCall 55(GetColor11(struct-S-vf31;i1;) 186 187(param)
|
||||
190: 9(S) Load 145(s)
|
||||
192: 14(int) Load 150(u)
|
||||
Store 191(param) 192
|
||||
193: 2 FunctionCall 59(GetColor12(struct-S-vf31;i1;) 190 191(param)
|
||||
194: 9(S) Load 145(s)
|
||||
196: 14(int) Load 150(u)
|
||||
Store 195(param) 196
|
||||
197: 2 FunctionCall 63(GetColor13(struct-S-vf31;i1;) 194 195(param)
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
12(GetColor1(struct-S-vf31;): 2 Function None 10
|
||||
11(i): 9(S) FunctionParameter
|
||||
13: Label
|
||||
70: 7(float) CompositeExtract 11(i) 0 0
|
||||
71: 8(fvec3) Load 66(OutColor)
|
||||
72: 8(fvec3) CompositeConstruct 70 70 70
|
||||
73: 8(fvec3) FAdd 71 72
|
||||
Store 66(OutColor) 73
|
||||
Return
|
||||
FunctionEnd
|
||||
19(GetColor2(struct-S-vf31;i1;): 2 Function None 16
|
||||
17(i): 9(S) FunctionParameter
|
||||
18(comp): 15(ptr) FunctionParameter
|
||||
20: Label
|
||||
74: 14(int) Load 18(comp)
|
||||
75: 8(fvec3) CompositeExtract 17(i) 0
|
||||
76: 7(float) VectorExtractDynamic 75 74
|
||||
77: 8(fvec3) Load 66(OutColor)
|
||||
78: 8(fvec3) CompositeConstruct 76 76 76
|
||||
79: 8(fvec3) FAdd 77 78
|
||||
Store 66(OutColor) 79
|
||||
Return
|
||||
FunctionEnd
|
||||
23(GetColor3(struct-S-vf31;i1;): 2 Function None 16
|
||||
21(i): 9(S) FunctionParameter
|
||||
22(comp): 15(ptr) FunctionParameter
|
||||
24: Label
|
||||
80: 14(int) Load 22(comp)
|
||||
81: 8(fvec3) CompositeExtract 21(i) 0
|
||||
82: 7(float) VectorExtractDynamic 81 80
|
||||
83: 8(fvec3) Load 66(OutColor)
|
||||
84: 8(fvec3) CompositeConstruct 82 82 82
|
||||
85: 8(fvec3) FAdd 83 84
|
||||
Store 66(OutColor) 85
|
||||
Return
|
||||
FunctionEnd
|
||||
27(GetColor4(struct-S-vf31;i1;): 2 Function None 16
|
||||
25(i): 9(S) FunctionParameter
|
||||
26(comp): 15(ptr) FunctionParameter
|
||||
28: Label
|
||||
86: 14(int) Load 26(comp)
|
||||
87: 8(fvec3) CompositeExtract 25(i) 0
|
||||
88: 7(float) VectorExtractDynamic 87 86
|
||||
89: 8(fvec3) Load 66(OutColor)
|
||||
90: 8(fvec3) CompositeConstruct 88 88 88
|
||||
91: 8(fvec3) FAdd 89 90
|
||||
Store 66(OutColor) 91
|
||||
Return
|
||||
FunctionEnd
|
||||
31(GetColor5(struct-S-vf31;i1;): 2 Function None 16
|
||||
29(i): 9(S) FunctionParameter
|
||||
30(comp): 15(ptr) FunctionParameter
|
||||
32: Label
|
||||
92: 8(fvec3) CompositeExtract 29(i) 0
|
||||
93: 8(fvec3) Load 66(OutColor)
|
||||
94: 8(fvec3) FAdd 93 92
|
||||
Store 66(OutColor) 94
|
||||
Return
|
||||
FunctionEnd
|
||||
35(GetColor6(struct-S-vf31;i1;): 2 Function None 16
|
||||
33(i): 9(S) FunctionParameter
|
||||
34(comp): 15(ptr) FunctionParameter
|
||||
36: Label
|
||||
95: 14(int) Load 34(comp)
|
||||
96: 8(fvec3) CompositeExtract 33(i) 0
|
||||
98: 97(fvec2) VectorShuffle 96 96 1 0
|
||||
99: 7(float) VectorExtractDynamic 98 95
|
||||
100: 8(fvec3) Load 66(OutColor)
|
||||
101: 8(fvec3) CompositeConstruct 99 99 99
|
||||
102: 8(fvec3) FAdd 100 101
|
||||
Store 66(OutColor) 102
|
||||
Return
|
||||
FunctionEnd
|
||||
39(GetColor7(struct-S-vf31;i1;): 2 Function None 16
|
||||
37(i): 9(S) FunctionParameter
|
||||
38(comp): 15(ptr) FunctionParameter
|
||||
40: Label
|
||||
103: 8(fvec3) CompositeExtract 37(i) 0
|
||||
104: 97(fvec2) VectorShuffle 103 103 0 1
|
||||
105: 8(fvec3) Load 66(OutColor)
|
||||
106: 97(fvec2) VectorShuffle 105 105 0 1
|
||||
107: 97(fvec2) FAdd 106 104
|
||||
108: 8(fvec3) Load 66(OutColor)
|
||||
109: 8(fvec3) VectorShuffle 108 107 3 4 2
|
||||
Store 66(OutColor) 109
|
||||
Return
|
||||
FunctionEnd
|
||||
43(GetColor8(struct-S-vf31;i1;): 2 Function None 16
|
||||
41(i): 9(S) FunctionParameter
|
||||
42(comp): 15(ptr) FunctionParameter
|
||||
44: Label
|
||||
111: 7(float) CompositeExtract 41(i) 0 2
|
||||
112: 8(fvec3) Load 66(OutColor)
|
||||
113: 8(fvec3) CompositeConstruct 111 111 111
|
||||
114: 8(fvec3) FAdd 112 113
|
||||
Store 66(OutColor) 114
|
||||
Return
|
||||
FunctionEnd
|
||||
47(GetColor9(struct-S-vf31;i1;): 2 Function None 16
|
||||
45(i): 9(S) FunctionParameter
|
||||
46(comp): 15(ptr) FunctionParameter
|
||||
48: Label
|
||||
115: 8(fvec3) CompositeExtract 45(i) 0
|
||||
116: 8(fvec3) Load 66(OutColor)
|
||||
117: 8(fvec3) VectorShuffle 116 116 2 0 1
|
||||
118: 8(fvec3) FAdd 117 115
|
||||
119: 8(fvec3) Load 66(OutColor)
|
||||
120: 8(fvec3) VectorShuffle 119 118 4 5 3
|
||||
Store 66(OutColor) 120
|
||||
Return
|
||||
FunctionEnd
|
||||
51(GetColor10(struct-S-vf31;i1;): 2 Function None 16
|
||||
49(i): 9(S) FunctionParameter
|
||||
50(comp): 15(ptr) FunctionParameter
|
||||
52: Label
|
||||
121: 8(fvec3) CompositeExtract 49(i) 0
|
||||
122: 97(fvec2) VectorShuffle 121 121 0 1
|
||||
123: 8(fvec3) Load 66(OutColor)
|
||||
124: 97(fvec2) VectorShuffle 123 123 2 1
|
||||
125: 97(fvec2) FAdd 124 122
|
||||
126: 8(fvec3) Load 66(OutColor)
|
||||
127: 8(fvec3) VectorShuffle 126 125 0 4 3
|
||||
Store 66(OutColor) 127
|
||||
Return
|
||||
FunctionEnd
|
||||
55(GetColor11(struct-S-vf31;i1;): 2 Function None 16
|
||||
53(i): 9(S) FunctionParameter
|
||||
54(comp): 15(ptr) FunctionParameter
|
||||
56: Label
|
||||
128: 8(fvec3) CompositeExtract 53(i) 0
|
||||
129: 97(fvec2) VectorShuffle 128 128 0 1
|
||||
130: 8(fvec3) Load 66(OutColor)
|
||||
131: 97(fvec2) VectorShuffle 130 130 0 2
|
||||
132: 97(fvec2) FAdd 131 129
|
||||
133: 8(fvec3) Load 66(OutColor)
|
||||
134: 8(fvec3) VectorShuffle 133 132 3 1 4
|
||||
Store 66(OutColor) 134
|
||||
Return
|
||||
FunctionEnd
|
||||
59(GetColor12(struct-S-vf31;i1;): 2 Function None 16
|
||||
57(i): 9(S) FunctionParameter
|
||||
58(comp): 15(ptr) FunctionParameter
|
||||
60: Label
|
||||
135: 14(int) Load 58(comp)
|
||||
136: 7(float) CompositeExtract 57(i) 0 0
|
||||
137: 8(fvec3) Load 66(OutColor)
|
||||
138: 7(float) VectorExtractDynamic 137 135
|
||||
139: 7(float) FAdd 138 136
|
||||
140: 8(fvec3) Load 66(OutColor)
|
||||
141: 8(fvec3) VectorInsertDynamic 140 139 135
|
||||
Store 66(OutColor) 141
|
||||
Return
|
||||
FunctionEnd
|
||||
63(GetColor13(struct-S-vf31;i1;): 2 Function None 16
|
||||
61(i): 9(S) FunctionParameter
|
||||
62(comp): 15(ptr) FunctionParameter
|
||||
64: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user