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