• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_Clockwise %sk_FragColor
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_Clockwise "sk_Clockwise"
7OpName %sk_FragColor "sk_FragColor"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "testInputs"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %uintValues "uintValues"
15OpName %uintGreen "uintGreen"
16OpName %expectedA "expectedA"
17OpName %expectedB "expectedB"
18OpDecorate %sk_Clockwise BuiltIn FrontFacing
19OpDecorate %sk_FragColor RelaxedPrecision
20OpDecorate %sk_FragColor Location 0
21OpDecorate %sk_FragColor Index 0
22OpMemberDecorate %_UniformBuffer 0 Offset 0
23OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24OpMemberDecorate %_UniformBuffer 1 Offset 16
25OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26OpMemberDecorate %_UniformBuffer 2 Offset 32
27OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
28OpDecorate %_UniformBuffer Block
29OpDecorate %10 Binding 0
30OpDecorate %10 DescriptorSet 0
31OpDecorate %30 RelaxedPrecision
32OpDecorate %35 RelaxedPrecision
33OpDecorate %37 RelaxedPrecision
34OpDecorate %38 RelaxedPrecision
35OpDecorate %40 RelaxedPrecision
36OpDecorate %42 RelaxedPrecision
37OpDecorate %44 RelaxedPrecision
38OpDecorate %50 RelaxedPrecision
39OpDecorate %51 RelaxedPrecision
40OpDecorate %52 RelaxedPrecision
41OpDecorate %54 RelaxedPrecision
42OpDecorate %56 RelaxedPrecision
43OpDecorate %58 RelaxedPrecision
44OpDecorate %181 RelaxedPrecision
45OpDecorate %184 RelaxedPrecision
46OpDecorate %185 RelaxedPrecision
47%bool = OpTypeBool
48%_ptr_Input_bool = OpTypePointer Input %bool
49%sk_Clockwise = OpVariable %_ptr_Input_bool Input
50%float = OpTypeFloat 32
51%v4float = OpTypeVector %float 4
52%_ptr_Output_v4float = OpTypePointer Output %v4float
53%sk_FragColor = OpVariable %_ptr_Output_v4float Output
54%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
55%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
56%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
57%void = OpTypeVoid
58%15 = OpTypeFunction %void
59%float_0 = OpConstant %float 0
60%v2float = OpTypeVector %float 2
61%19 = OpConstantComposite %v2float %float_0 %float_0
62%_ptr_Function_v2float = OpTypePointer Function %v2float
63%23 = OpTypeFunction %v4float %_ptr_Function_v2float
64%uint = OpTypeInt 32 0
65%v4uint = OpTypeVector %uint 4
66%_ptr_Function_v4uint = OpTypePointer Function %v4uint
67%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
68%int = OpTypeInt 32 1
69%int_0 = OpConstant %int 0
70%float_100 = OpConstant %float 100
71%int_1 = OpConstant %int 1
72%uint_125 = OpConstant %uint 125
73%uint_80 = OpConstant %uint 80
74%uint_225 = OpConstant %uint 225
75%65 = OpConstantComposite %v4uint %uint_125 %uint_80 %uint_80 %uint_225
76%uint_100 = OpConstant %uint 100
77%uint_75 = OpConstant %uint 75
78%69 = OpConstantComposite %v4uint %uint_125 %uint_100 %uint_75 %uint_225
79%false = OpConstantFalse %bool
80%v2uint = OpTypeVector %uint 2
81%79 = OpConstantComposite %v2uint %uint_80 %uint_80
82%v2bool = OpTypeVector %bool 2
83%v3uint = OpTypeVector %uint 3
84%90 = OpConstantComposite %v3uint %uint_80 %uint_80 %uint_80
85%v3bool = OpTypeVector %bool 3
86%99 = OpConstantComposite %v4uint %uint_80 %uint_80 %uint_80 %uint_80
87%v4bool = OpTypeVector %bool 4
88%true = OpConstantTrue %bool
89%110 = OpConstantComposite %v2uint %uint_125 %uint_80
90%117 = OpConstantComposite %v3uint %uint_125 %uint_80 %uint_80
91%160 = OpConstantComposite %v2uint %uint_125 %uint_100
92%167 = OpConstantComposite %v3uint %uint_125 %uint_100 %uint_75
93%_ptr_Function_v4float = OpTypePointer Function %v4float
94%int_2 = OpConstant %int 2
95%_entrypoint_v = OpFunction %void None %15
96%16 = OpLabel
97%20 = OpVariable %_ptr_Function_v2float Function
98OpStore %20 %19
99%22 = OpFunctionCall %v4float %main %20
100OpStore %sk_FragColor %22
101OpReturn
102OpFunctionEnd
103%main = OpFunction %v4float None %23
104%24 = OpFunctionParameter %_ptr_Function_v2float
105%25 = OpLabel
106%uintValues = OpVariable %_ptr_Function_v4uint Function
107%uintGreen = OpVariable %_ptr_Function_v4uint Function
108%expectedA = OpVariable %_ptr_Function_v4uint Function
109%expectedB = OpVariable %_ptr_Function_v4uint Function
110%175 = OpVariable %_ptr_Function_v4float Function
111%31 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
112%35 = OpLoad %v4float %31
113%30 = OpExtInst %v4float %1 FAbs %35
114%37 = OpVectorTimesScalar %v4float %30 %float_100
115%38 = OpCompositeExtract %float %37 0
116%39 = OpConvertFToU %uint %38
117%40 = OpCompositeExtract %float %37 1
118%41 = OpConvertFToU %uint %40
119%42 = OpCompositeExtract %float %37 2
120%43 = OpConvertFToU %uint %42
121%44 = OpCompositeExtract %float %37 3
122%45 = OpConvertFToU %uint %44
123%46 = OpCompositeConstruct %v4uint %39 %41 %43 %45
124OpStore %uintValues %46
125%48 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
126%50 = OpLoad %v4float %48
127%51 = OpVectorTimesScalar %v4float %50 %float_100
128%52 = OpCompositeExtract %float %51 0
129%53 = OpConvertFToU %uint %52
130%54 = OpCompositeExtract %float %51 1
131%55 = OpConvertFToU %uint %54
132%56 = OpCompositeExtract %float %51 2
133%57 = OpConvertFToU %uint %56
134%58 = OpCompositeExtract %float %51 3
135%59 = OpConvertFToU %uint %58
136%60 = OpCompositeConstruct %v4uint %53 %55 %57 %59
137OpStore %uintGreen %60
138OpStore %expectedA %65
139OpStore %expectedB %69
140%72 = OpCompositeExtract %uint %46 0
141%71 = OpExtInst %uint %1 UMax %72 %uint_80
142%73 = OpIEqual %bool %71 %uint_125
143OpSelectionMerge %75 None
144OpBranchConditional %73 %74 %75
145%74 = OpLabel
146%77 = OpVectorShuffle %v2uint %46 %46 0 1
147%76 = OpExtInst %v2uint %1 UMax %77 %79
148%80 = OpVectorShuffle %v2uint %65 %65 0 1
149%81 = OpIEqual %v2bool %76 %80
150%83 = OpAll %bool %81
151OpBranch %75
152%75 = OpLabel
153%84 = OpPhi %bool %false %25 %83 %74
154OpSelectionMerge %86 None
155OpBranchConditional %84 %85 %86
156%85 = OpLabel
157%88 = OpVectorShuffle %v3uint %46 %46 0 1 2
158%87 = OpExtInst %v3uint %1 UMax %88 %90
159%91 = OpVectorShuffle %v3uint %65 %65 0 1 2
160%92 = OpIEqual %v3bool %87 %91
161%94 = OpAll %bool %92
162OpBranch %86
163%86 = OpLabel
164%95 = OpPhi %bool %false %75 %94 %85
165OpSelectionMerge %97 None
166OpBranchConditional %95 %96 %97
167%96 = OpLabel
168%98 = OpExtInst %v4uint %1 UMax %46 %99
169%100 = OpIEqual %v4bool %98 %65
170%102 = OpAll %bool %100
171OpBranch %97
172%97 = OpLabel
173%103 = OpPhi %bool %false %86 %102 %96
174OpSelectionMerge %105 None
175OpBranchConditional %103 %104 %105
176%104 = OpLabel
177OpBranch %105
178%105 = OpLabel
179%107 = OpPhi %bool %false %97 %true %104
180OpSelectionMerge %109 None
181OpBranchConditional %107 %108 %109
182%108 = OpLabel
183%111 = OpVectorShuffle %v2uint %65 %65 0 1
184%112 = OpIEqual %v2bool %110 %111
185%113 = OpAll %bool %112
186OpBranch %109
187%109 = OpLabel
188%114 = OpPhi %bool %false %105 %113 %108
189OpSelectionMerge %116 None
190OpBranchConditional %114 %115 %116
191%115 = OpLabel
192%118 = OpVectorShuffle %v3uint %65 %65 0 1 2
193%119 = OpIEqual %v3bool %117 %118
194%120 = OpAll %bool %119
195OpBranch %116
196%116 = OpLabel
197%121 = OpPhi %bool %false %109 %120 %115
198OpSelectionMerge %123 None
199OpBranchConditional %121 %122 %123
200%122 = OpLabel
201OpBranch %123
202%123 = OpLabel
203%124 = OpPhi %bool %false %116 %true %122
204OpSelectionMerge %126 None
205OpBranchConditional %124 %125 %126
206%125 = OpLabel
207%128 = OpCompositeExtract %uint %60 0
208%127 = OpExtInst %uint %1 UMax %72 %128
209%129 = OpIEqual %bool %127 %uint_125
210OpBranch %126
211%126 = OpLabel
212%130 = OpPhi %bool %false %123 %129 %125
213OpSelectionMerge %132 None
214OpBranchConditional %130 %131 %132
215%131 = OpLabel
216%134 = OpVectorShuffle %v2uint %46 %46 0 1
217%135 = OpVectorShuffle %v2uint %60 %60 0 1
218%133 = OpExtInst %v2uint %1 UMax %134 %135
219%136 = OpVectorShuffle %v2uint %69 %69 0 1
220%137 = OpIEqual %v2bool %133 %136
221%138 = OpAll %bool %137
222OpBranch %132
223%132 = OpLabel
224%139 = OpPhi %bool %false %126 %138 %131
225OpSelectionMerge %141 None
226OpBranchConditional %139 %140 %141
227%140 = OpLabel
228%143 = OpVectorShuffle %v3uint %46 %46 0 1 2
229%144 = OpVectorShuffle %v3uint %60 %60 0 1 2
230%142 = OpExtInst %v3uint %1 UMax %143 %144
231%145 = OpVectorShuffle %v3uint %69 %69 0 1 2
232%146 = OpIEqual %v3bool %142 %145
233%147 = OpAll %bool %146
234OpBranch %141
235%141 = OpLabel
236%148 = OpPhi %bool %false %132 %147 %140
237OpSelectionMerge %150 None
238OpBranchConditional %148 %149 %150
239%149 = OpLabel
240%151 = OpExtInst %v4uint %1 UMax %46 %60
241%152 = OpIEqual %v4bool %151 %69
242%153 = OpAll %bool %152
243OpBranch %150
244%150 = OpLabel
245%154 = OpPhi %bool %false %141 %153 %149
246OpSelectionMerge %156 None
247OpBranchConditional %154 %155 %156
248%155 = OpLabel
249OpBranch %156
250%156 = OpLabel
251%157 = OpPhi %bool %false %150 %true %155
252OpSelectionMerge %159 None
253OpBranchConditional %157 %158 %159
254%158 = OpLabel
255%161 = OpVectorShuffle %v2uint %69 %69 0 1
256%162 = OpIEqual %v2bool %160 %161
257%163 = OpAll %bool %162
258OpBranch %159
259%159 = OpLabel
260%164 = OpPhi %bool %false %156 %163 %158
261OpSelectionMerge %166 None
262OpBranchConditional %164 %165 %166
263%165 = OpLabel
264%168 = OpVectorShuffle %v3uint %69 %69 0 1 2
265%169 = OpIEqual %v3bool %167 %168
266%170 = OpAll %bool %169
267OpBranch %166
268%166 = OpLabel
269%171 = OpPhi %bool %false %159 %170 %165
270OpSelectionMerge %173 None
271OpBranchConditional %171 %172 %173
272%172 = OpLabel
273OpBranch %173
274%173 = OpLabel
275%174 = OpPhi %bool %false %166 %true %172
276OpSelectionMerge %179 None
277OpBranchConditional %174 %177 %178
278%177 = OpLabel
279%180 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
280%181 = OpLoad %v4float %180
281OpStore %175 %181
282OpBranch %179
283%178 = OpLabel
284%182 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
285%184 = OpLoad %v4float %182
286OpStore %175 %184
287OpBranch %179
288%179 = OpLabel
289%185 = OpLoad %v4float %175
290OpReturnValue %185
291OpFunctionEnd
292