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