• 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 "colorGreen"
10OpMemberName %_UniformBuffer 1 "colorRed"
11OpName %_entrypoint_v "_entrypoint_v"
12OpName %main "main"
13OpName %value "value"
14OpName %expectedWhole "expectedWhole"
15OpName %expectedFraction "expectedFraction"
16OpName %ok "ok"
17OpName %whole "whole"
18OpName %fraction "fraction"
19OpDecorate %sk_FragColor RelaxedPrecision
20OpDecorate %sk_FragColor Location 0
21OpDecorate %sk_FragColor Index 0
22OpDecorate %sk_Clockwise BuiltIn FrontFacing
23OpMemberDecorate %_UniformBuffer 0 Offset 0
24OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
25OpMemberDecorate %_UniformBuffer 1 Offset 16
26OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
27OpDecorate %_UniformBuffer Block
28OpDecorate %10 Binding 0
29OpDecorate %10 DescriptorSet 0
30OpDecorate %139 RelaxedPrecision
31OpDecorate %146 RelaxedPrecision
32OpDecorate %148 RelaxedPrecision
33OpDecorate %149 RelaxedPrecision
34%float = OpTypeFloat 32
35%v4float = OpTypeVector %float 4
36%_ptr_Output_v4float = OpTypePointer Output %v4float
37%sk_FragColor = OpVariable %_ptr_Output_v4float Output
38%bool = OpTypeBool
39%_ptr_Input_bool = OpTypePointer Input %bool
40%sk_Clockwise = OpVariable %_ptr_Input_bool Input
41%_UniformBuffer = OpTypeStruct %v4float %v4float
42%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
43%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
44%void = OpTypeVoid
45%15 = OpTypeFunction %void
46%v2float = OpTypeVector %float 2
47%float_0 = OpConstant %float 0
48%19 = OpConstantComposite %v2float %float_0 %float_0
49%_ptr_Function_v2float = OpTypePointer Function %v2float
50%23 = OpTypeFunction %v4float %_ptr_Function_v2float
51%_ptr_Function_v4float = OpTypePointer Function %v4float
52%float_2_5 = OpConstant %float 2.5
53%float_n2_5 = OpConstant %float -2.5
54%float_8 = OpConstant %float 8
55%float_n0_125 = OpConstant %float -0.125
56%32 = OpConstantComposite %v4float %float_2_5 %float_n2_5 %float_8 %float_n0_125
57%float_2 = OpConstant %float 2
58%float_n2 = OpConstant %float -2
59%36 = OpConstantComposite %v4float %float_2 %float_n2 %float_8 %float_0
60%float_0_5 = OpConstant %float 0.5
61%float_n0_5 = OpConstant %float -0.5
62%40 = OpConstantComposite %v4float %float_0_5 %float_n0_5 %float_0 %float_n0_125
63%v4bool = OpTypeVector %bool 4
64%_ptr_Function_v4bool = OpTypePointer Function %v4bool
65%false = OpConstantFalse %bool
66%45 = OpConstantComposite %v4bool %false %false %false %false
67%_ptr_Function_float = OpTypePointer Function %float
68%int = OpTypeInt 32 1
69%int_0 = OpConstant %int 0
70%_ptr_Function_bool = OpTypePointer Function %bool
71%80 = OpConstantComposite %v2float %float_2 %float_n2
72%v2bool = OpTypeVector %bool 2
73%88 = OpConstantComposite %v2float %float_0_5 %float_n0_5
74%int_1 = OpConstant %int 1
75%v3float = OpTypeVector %float 3
76%_ptr_Function_v3float = OpTypePointer Function %v3float
77%107 = OpConstantComposite %v3float %float_2 %float_n2 %float_8
78%v3bool = OpTypeVector %bool 3
79%115 = OpConstantComposite %v3float %float_0_5 %float_n0_5 %float_0
80%int_2 = OpConstant %int 2
81%int_3 = OpConstant %int 3
82%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
83%_entrypoint_v = OpFunction %void None %15
84%16 = OpLabel
85%20 = OpVariable %_ptr_Function_v2float Function
86OpStore %20 %19
87%22 = OpFunctionCall %v4float %main %20
88OpStore %sk_FragColor %22
89OpReturn
90OpFunctionEnd
91%main = OpFunction %v4float None %23
92%24 = OpFunctionParameter %_ptr_Function_v2float
93%25 = OpLabel
94%value = OpVariable %_ptr_Function_v4float Function
95%expectedWhole = OpVariable %_ptr_Function_v4float Function
96%expectedFraction = OpVariable %_ptr_Function_v4float Function
97%ok = OpVariable %_ptr_Function_v4bool Function
98%whole = OpVariable %_ptr_Function_v4float Function
99%fraction = OpVariable %_ptr_Function_v4float Function
100%55 = OpVariable %_ptr_Function_float Function
101%72 = OpVariable %_ptr_Function_v2float Function
102%98 = OpVariable %_ptr_Function_v3float Function
103%123 = OpVariable %_ptr_Function_v4float Function
104%140 = OpVariable %_ptr_Function_v4float Function
105OpStore %value %32
106OpStore %expectedWhole %36
107OpStore %expectedFraction %40
108OpStore %ok %45
109%49 = OpLoad %v4float %value
110%50 = OpCompositeExtract %float %49 0
111%51 = OpAccessChain %_ptr_Function_float %whole %int_0
112%48 = OpExtInst %float %1 Modf %50 %55
113%56 = OpLoad %float %55
114OpStore %51 %56
115%57 = OpAccessChain %_ptr_Function_float %fraction %int_0
116OpStore %57 %48
117%58 = OpLoad %v4float %whole
118%59 = OpCompositeExtract %float %58 0
119%60 = OpFOrdEqual %bool %59 %float_2
120OpSelectionMerge %62 None
121OpBranchConditional %60 %61 %62
122%61 = OpLabel
123%63 = OpLoad %v4float %fraction
124%64 = OpCompositeExtract %float %63 0
125%65 = OpFOrdEqual %bool %64 %float_0_5
126OpBranch %62
127%62 = OpLabel
128%66 = OpPhi %bool %false %25 %65 %61
129%67 = OpAccessChain %_ptr_Function_bool %ok %int_0
130OpStore %67 %66
131%70 = OpLoad %v4float %value
132%71 = OpVectorShuffle %v2float %70 %70 0 1
133%69 = OpExtInst %v2float %1 Modf %71 %72
134%73 = OpLoad %v2float %72
135%74 = OpLoad %v4float %whole
136%75 = OpVectorShuffle %v4float %74 %73 4 5 2 3
137OpStore %whole %75
138%76 = OpLoad %v4float %fraction
139%77 = OpVectorShuffle %v4float %76 %69 4 5 2 3
140OpStore %fraction %77
141%78 = OpLoad %v4float %whole
142%79 = OpVectorShuffle %v2float %78 %78 0 1
143%81 = OpFOrdEqual %v2bool %79 %80
144%83 = OpAll %bool %81
145OpSelectionMerge %85 None
146OpBranchConditional %83 %84 %85
147%84 = OpLabel
148%86 = OpLoad %v4float %fraction
149%87 = OpVectorShuffle %v2float %86 %86 0 1
150%89 = OpFOrdEqual %v2bool %87 %88
151%90 = OpAll %bool %89
152OpBranch %85
153%85 = OpLabel
154%91 = OpPhi %bool %false %62 %90 %84
155%92 = OpAccessChain %_ptr_Function_bool %ok %int_1
156OpStore %92 %91
157%95 = OpLoad %v4float %value
158%96 = OpVectorShuffle %v3float %95 %95 0 1 2
159%94 = OpExtInst %v3float %1 Modf %96 %98
160%100 = OpLoad %v3float %98
161%101 = OpLoad %v4float %whole
162%102 = OpVectorShuffle %v4float %101 %100 4 5 6 3
163OpStore %whole %102
164%103 = OpLoad %v4float %fraction
165%104 = OpVectorShuffle %v4float %103 %94 4 5 6 3
166OpStore %fraction %104
167%105 = OpLoad %v4float %whole
168%106 = OpVectorShuffle %v3float %105 %105 0 1 2
169%108 = OpFOrdEqual %v3bool %106 %107
170%110 = OpAll %bool %108
171OpSelectionMerge %112 None
172OpBranchConditional %110 %111 %112
173%111 = OpLabel
174%113 = OpLoad %v4float %fraction
175%114 = OpVectorShuffle %v3float %113 %113 0 1 2
176%116 = OpFOrdEqual %v3bool %114 %115
177%117 = OpAll %bool %116
178OpBranch %112
179%112 = OpLabel
180%118 = OpPhi %bool %false %85 %117 %111
181%119 = OpAccessChain %_ptr_Function_bool %ok %int_2
182OpStore %119 %118
183%122 = OpLoad %v4float %value
184%121 = OpExtInst %v4float %1 Modf %122 %123
185%124 = OpLoad %v4float %123
186OpStore %whole %124
187OpStore %fraction %121
188%125 = OpLoad %v4float %whole
189%126 = OpLoad %v4float %expectedWhole
190%127 = OpFOrdEqual %v4bool %125 %126
191%128 = OpAll %bool %127
192OpSelectionMerge %130 None
193OpBranchConditional %128 %129 %130
194%129 = OpLabel
195%131 = OpLoad %v4float %fraction
196%132 = OpLoad %v4float %expectedFraction
197%133 = OpFOrdEqual %v4bool %131 %132
198%134 = OpAll %bool %133
199OpBranch %130
200%130 = OpLabel
201%135 = OpPhi %bool %false %112 %134 %129
202%136 = OpAccessChain %_ptr_Function_bool %ok %int_3
203OpStore %136 %135
204%139 = OpLoad %v4bool %ok
205%138 = OpAll %bool %139
206OpSelectionMerge %143 None
207OpBranchConditional %138 %141 %142
208%141 = OpLabel
209%144 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
210%146 = OpLoad %v4float %144
211OpStore %140 %146
212OpBranch %143
213%142 = OpLabel
214%147 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
215%148 = OpLoad %v4float %147
216OpStore %140 %148
217OpBranch %143
218%143 = OpLabel
219%149 = OpLoad %v4float %140
220OpReturnValue %149
221OpFunctionEnd
222