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