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