blob: a633581e40bc6463f40ab66a25f07984a7acb4ca [file] [log] [blame]
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
OpExecutionMode %_entrypoint_v OriginUpperLeft
OpName %sk_FragColor "sk_FragColor"
OpName %sk_Clockwise "sk_Clockwise"
OpName %_UniformBuffer "_UniformBuffer"
OpMemberName %_UniformBuffer 0 "colorGreen"
OpMemberName %_UniformBuffer 1 "colorRed"
OpName %_entrypoint_v "_entrypoint_v"
OpName %takes_void_b "takes_void_b"
OpName %takes_float_bf "takes_float_bf"
OpName %takes_float2_bf2 "takes_float2_bf2"
OpName %takes_float3_bf3 "takes_float3_bf3"
OpName %takes_float4_bf4 "takes_float4_bf4"
OpName %takes_float2x2_bf22 "takes_float2x2_bf22"
OpName %takes_float3x3_bf33 "takes_float3x3_bf33"
OpName %takes_float4x4_bf44 "takes_float4x4_bf44"
OpName %takes_half_bh "takes_half_bh"
OpName %takes_half2_bh2 "takes_half2_bh2"
OpName %takes_half3_bh3 "takes_half3_bh3"
OpName %takes_half4_bh4 "takes_half4_bh4"
OpName %takes_half2x2_bh22 "takes_half2x2_bh22"
OpName %takes_half3x3_bh33 "takes_half3x3_bh33"
OpName %takes_half4x4_bh44 "takes_half4x4_bh44"
OpName %takes_bool_bb "takes_bool_bb"
OpName %takes_bool2_bb2 "takes_bool2_bb2"
OpName %takes_bool3_bb3 "takes_bool3_bb3"
OpName %takes_bool4_bb4 "takes_bool4_bb4"
OpName %takes_int_bi "takes_int_bi"
OpName %takes_int2_bi2 "takes_int2_bi2"
OpName %takes_int3_bi3 "takes_int3_bi3"
OpName %takes_int4_bi4 "takes_int4_bi4"
OpName %main "main"
OpDecorate %sk_FragColor RelaxedPrecision
OpDecorate %sk_FragColor Location 0
OpDecorate %sk_FragColor Index 0
OpDecorate %sk_Clockwise BuiltIn FrontFacing
OpMemberDecorate %_UniformBuffer 0 Offset 0
OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
OpMemberDecorate %_UniformBuffer 1 Offset 16
OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
OpDecorate %_UniformBuffer Block
OpDecorate %33 Binding 0
OpDecorate %33 DescriptorSet 0
OpDecorate %287 RelaxedPrecision
OpDecorate %289 RelaxedPrecision
OpDecorate %290 RelaxedPrecision
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%sk_FragColor = OpVariable %_ptr_Output_v4float Output
%bool = OpTypeBool
%_ptr_Input_bool = OpTypePointer Input %bool
%sk_Clockwise = OpVariable %_ptr_Input_bool Input
%_UniformBuffer = OpTypeStruct %v4float %v4float
%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
%33 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
%void = OpTypeVoid
%38 = OpTypeFunction %void
%float_0 = OpConstant %float 0
%v2float = OpTypeVector %float 2
%42 = OpConstantComposite %v2float %float_0 %float_0
%_ptr_Function_v2float = OpTypePointer Function %v2float
%46 = OpTypeFunction %bool
%true = OpConstantTrue %bool
%_ptr_Function_float = OpTypePointer Function %float
%50 = OpTypeFunction %bool %_ptr_Function_float
%53 = OpTypeFunction %bool %_ptr_Function_v2float
%v3float = OpTypeVector %float 3
%_ptr_Function_v3float = OpTypePointer Function %v3float
%58 = OpTypeFunction %bool %_ptr_Function_v3float
%_ptr_Function_v4float = OpTypePointer Function %v4float
%62 = OpTypeFunction %bool %_ptr_Function_v4float
%mat2v2float = OpTypeMatrix %v2float 2
%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
%67 = OpTypeFunction %bool %_ptr_Function_mat2v2float
%mat3v3float = OpTypeMatrix %v3float 3
%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
%72 = OpTypeFunction %bool %_ptr_Function_mat3v3float
%mat4v4float = OpTypeMatrix %v4float 4
%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
%77 = OpTypeFunction %bool %_ptr_Function_mat4v4float
%_ptr_Function_bool = OpTypePointer Function %bool
%95 = OpTypeFunction %bool %_ptr_Function_bool
%v2bool = OpTypeVector %bool 2
%_ptr_Function_v2bool = OpTypePointer Function %v2bool
%100 = OpTypeFunction %bool %_ptr_Function_v2bool
%v3bool = OpTypeVector %bool 3
%_ptr_Function_v3bool = OpTypePointer Function %v3bool
%105 = OpTypeFunction %bool %_ptr_Function_v3bool
%v4bool = OpTypeVector %bool 4
%_ptr_Function_v4bool = OpTypePointer Function %v4bool
%110 = OpTypeFunction %bool %_ptr_Function_v4bool
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%115 = OpTypeFunction %bool %_ptr_Function_int
%v2int = OpTypeVector %int 2
%_ptr_Function_v2int = OpTypePointer Function %v2int
%120 = OpTypeFunction %bool %_ptr_Function_v2int
%v3int = OpTypeVector %int 3
%_ptr_Function_v3int = OpTypePointer Function %v3int
%125 = OpTypeFunction %bool %_ptr_Function_v3int
%v4int = OpTypeVector %int 4
%_ptr_Function_v4int = OpTypePointer Function %v4int
%130 = OpTypeFunction %bool %_ptr_Function_v4int
%133 = OpTypeFunction %v4float %_ptr_Function_v2float
%false = OpConstantFalse %bool
%float_1 = OpConstant %float 1
%float_2 = OpConstant %float 2
%150 = OpConstantComposite %v2float %float_2 %float_2
%float_3 = OpConstant %float 3
%157 = OpConstantComposite %v3float %float_3 %float_3 %float_3
%float_4 = OpConstant %float 4
%164 = OpConstantComposite %v4float %float_4 %float_4 %float_4 %float_4
%170 = OpConstantComposite %v2float %float_2 %float_0
%171 = OpConstantComposite %v2float %float_0 %float_2
%172 = OpConstantComposite %mat2v2float %170 %171
%178 = OpConstantComposite %v3float %float_3 %float_0 %float_0
%179 = OpConstantComposite %v3float %float_0 %float_3 %float_0
%180 = OpConstantComposite %v3float %float_0 %float_0 %float_3
%181 = OpConstantComposite %mat3v3float %178 %179 %180
%187 = OpConstantComposite %v4float %float_4 %float_0 %float_0 %float_0
%188 = OpConstantComposite %v4float %float_0 %float_4 %float_0 %float_0
%189 = OpConstantComposite %v4float %float_0 %float_0 %float_4 %float_0
%190 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_4
%191 = OpConstantComposite %mat4v4float %187 %188 %189 %190
%237 = OpConstantComposite %v2bool %true %true
%243 = OpConstantComposite %v3bool %true %true %true
%249 = OpConstantComposite %v4bool %true %true %true %true
%int_1 = OpConstant %int 1
%int_2 = OpConstant %int 2
%262 = OpConstantComposite %v2int %int_2 %int_2
%int_3 = OpConstant %int 3
%269 = OpConstantComposite %v3int %int_3 %int_3 %int_3
%int_4 = OpConstant %int 4
%276 = OpConstantComposite %v4int %int_4 %int_4 %int_4 %int_4
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
%int_0 = OpConstant %int 0
%_entrypoint_v = OpFunction %void None %38
%39 = OpLabel
%43 = OpVariable %_ptr_Function_v2float Function
OpStore %43 %42
%45 = OpFunctionCall %v4float %main %43
OpStore %sk_FragColor %45
OpReturn
OpFunctionEnd
%takes_void_b = OpFunction %bool None %46
%47 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_float_bf = OpFunction %bool None %50
%51 = OpFunctionParameter %_ptr_Function_float
%52 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_float2_bf2 = OpFunction %bool None %53
%54 = OpFunctionParameter %_ptr_Function_v2float
%55 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_float3_bf3 = OpFunction %bool None %58
%59 = OpFunctionParameter %_ptr_Function_v3float
%60 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_float4_bf4 = OpFunction %bool None %62
%63 = OpFunctionParameter %_ptr_Function_v4float
%64 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_float2x2_bf22 = OpFunction %bool None %67
%68 = OpFunctionParameter %_ptr_Function_mat2v2float
%69 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_float3x3_bf33 = OpFunction %bool None %72
%73 = OpFunctionParameter %_ptr_Function_mat3v3float
%74 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_float4x4_bf44 = OpFunction %bool None %77
%78 = OpFunctionParameter %_ptr_Function_mat4v4float
%79 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_half_bh = OpFunction %bool None %50
%80 = OpFunctionParameter %_ptr_Function_float
%81 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_half2_bh2 = OpFunction %bool None %53
%82 = OpFunctionParameter %_ptr_Function_v2float
%83 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_half3_bh3 = OpFunction %bool None %58
%84 = OpFunctionParameter %_ptr_Function_v3float
%85 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_half4_bh4 = OpFunction %bool None %62
%86 = OpFunctionParameter %_ptr_Function_v4float
%87 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_half2x2_bh22 = OpFunction %bool None %67
%88 = OpFunctionParameter %_ptr_Function_mat2v2float
%89 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_half3x3_bh33 = OpFunction %bool None %72
%90 = OpFunctionParameter %_ptr_Function_mat3v3float
%91 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_half4x4_bh44 = OpFunction %bool None %77
%92 = OpFunctionParameter %_ptr_Function_mat4v4float
%93 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_bool_bb = OpFunction %bool None %95
%96 = OpFunctionParameter %_ptr_Function_bool
%97 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_bool2_bb2 = OpFunction %bool None %100
%101 = OpFunctionParameter %_ptr_Function_v2bool
%102 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_bool3_bb3 = OpFunction %bool None %105
%106 = OpFunctionParameter %_ptr_Function_v3bool
%107 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_bool4_bb4 = OpFunction %bool None %110
%111 = OpFunctionParameter %_ptr_Function_v4bool
%112 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_int_bi = OpFunction %bool None %115
%116 = OpFunctionParameter %_ptr_Function_int
%117 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_int2_bi2 = OpFunction %bool None %120
%121 = OpFunctionParameter %_ptr_Function_v2int
%122 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_int3_bi3 = OpFunction %bool None %125
%126 = OpFunctionParameter %_ptr_Function_v3int
%127 = OpLabel
OpReturnValue %true
OpFunctionEnd
%takes_int4_bi4 = OpFunction %bool None %130
%131 = OpFunctionParameter %_ptr_Function_v4int
%132 = OpLabel
OpReturnValue %true
OpFunctionEnd
%main = OpFunction %v4float None %133
%134 = OpFunctionParameter %_ptr_Function_v2float
%135 = OpLabel
%144 = OpVariable %_ptr_Function_float Function
%151 = OpVariable %_ptr_Function_v2float Function
%158 = OpVariable %_ptr_Function_v3float Function
%165 = OpVariable %_ptr_Function_v4float Function
%173 = OpVariable %_ptr_Function_mat2v2float Function
%182 = OpVariable %_ptr_Function_mat3v3float Function
%192 = OpVariable %_ptr_Function_mat4v4float Function
%197 = OpVariable %_ptr_Function_float Function
%202 = OpVariable %_ptr_Function_v2float Function
%207 = OpVariable %_ptr_Function_v3float Function
%212 = OpVariable %_ptr_Function_v4float Function
%217 = OpVariable %_ptr_Function_mat2v2float Function
%222 = OpVariable %_ptr_Function_mat3v3float Function
%227 = OpVariable %_ptr_Function_mat4v4float Function
%232 = OpVariable %_ptr_Function_bool Function
%238 = OpVariable %_ptr_Function_v2bool Function
%244 = OpVariable %_ptr_Function_v3bool Function
%250 = OpVariable %_ptr_Function_v4bool Function
%256 = OpVariable %_ptr_Function_int Function
%263 = OpVariable %_ptr_Function_v2int Function
%270 = OpVariable %_ptr_Function_v3int Function
%277 = OpVariable %_ptr_Function_v4int Function
%280 = OpVariable %_ptr_Function_v4float Function
OpSelectionMerge %138 None
OpBranchConditional %true %137 %138
%137 = OpLabel
%139 = OpFunctionCall %bool %takes_void_b
OpBranch %138
%138 = OpLabel
%140 = OpPhi %bool %false %135 %139 %137
OpSelectionMerge %142 None
OpBranchConditional %140 %141 %142
%141 = OpLabel
OpStore %144 %float_1
%145 = OpFunctionCall %bool %takes_float_bf %144
OpBranch %142
%142 = OpLabel
%146 = OpPhi %bool %false %138 %145 %141
OpSelectionMerge %148 None
OpBranchConditional %146 %147 %148
%147 = OpLabel
OpStore %151 %150
%152 = OpFunctionCall %bool %takes_float2_bf2 %151
OpBranch %148
%148 = OpLabel
%153 = OpPhi %bool %false %142 %152 %147
OpSelectionMerge %155 None
OpBranchConditional %153 %154 %155
%154 = OpLabel
OpStore %158 %157
%159 = OpFunctionCall %bool %takes_float3_bf3 %158
OpBranch %155
%155 = OpLabel
%160 = OpPhi %bool %false %148 %159 %154
OpSelectionMerge %162 None
OpBranchConditional %160 %161 %162
%161 = OpLabel
OpStore %165 %164
%166 = OpFunctionCall %bool %takes_float4_bf4 %165
OpBranch %162
%162 = OpLabel
%167 = OpPhi %bool %false %155 %166 %161
OpSelectionMerge %169 None
OpBranchConditional %167 %168 %169
%168 = OpLabel
OpStore %173 %172
%174 = OpFunctionCall %bool %takes_float2x2_bf22 %173
OpBranch %169
%169 = OpLabel
%175 = OpPhi %bool %false %162 %174 %168
OpSelectionMerge %177 None
OpBranchConditional %175 %176 %177
%176 = OpLabel
OpStore %182 %181
%183 = OpFunctionCall %bool %takes_float3x3_bf33 %182
OpBranch %177
%177 = OpLabel
%184 = OpPhi %bool %false %169 %183 %176
OpSelectionMerge %186 None
OpBranchConditional %184 %185 %186
%185 = OpLabel
OpStore %192 %191
%193 = OpFunctionCall %bool %takes_float4x4_bf44 %192
OpBranch %186
%186 = OpLabel
%194 = OpPhi %bool %false %177 %193 %185
OpSelectionMerge %196 None
OpBranchConditional %194 %195 %196
%195 = OpLabel
OpStore %197 %float_1
%198 = OpFunctionCall %bool %takes_half_bh %197
OpBranch %196
%196 = OpLabel
%199 = OpPhi %bool %false %186 %198 %195
OpSelectionMerge %201 None
OpBranchConditional %199 %200 %201
%200 = OpLabel
OpStore %202 %150
%203 = OpFunctionCall %bool %takes_half2_bh2 %202
OpBranch %201
%201 = OpLabel
%204 = OpPhi %bool %false %196 %203 %200
OpSelectionMerge %206 None
OpBranchConditional %204 %205 %206
%205 = OpLabel
OpStore %207 %157
%208 = OpFunctionCall %bool %takes_half3_bh3 %207
OpBranch %206
%206 = OpLabel
%209 = OpPhi %bool %false %201 %208 %205
OpSelectionMerge %211 None
OpBranchConditional %209 %210 %211
%210 = OpLabel
OpStore %212 %164
%213 = OpFunctionCall %bool %takes_half4_bh4 %212
OpBranch %211
%211 = OpLabel
%214 = OpPhi %bool %false %206 %213 %210
OpSelectionMerge %216 None
OpBranchConditional %214 %215 %216
%215 = OpLabel
OpStore %217 %172
%218 = OpFunctionCall %bool %takes_half2x2_bh22 %217
OpBranch %216
%216 = OpLabel
%219 = OpPhi %bool %false %211 %218 %215
OpSelectionMerge %221 None
OpBranchConditional %219 %220 %221
%220 = OpLabel
OpStore %222 %181
%223 = OpFunctionCall %bool %takes_half3x3_bh33 %222
OpBranch %221
%221 = OpLabel
%224 = OpPhi %bool %false %216 %223 %220
OpSelectionMerge %226 None
OpBranchConditional %224 %225 %226
%225 = OpLabel
OpStore %227 %191
%228 = OpFunctionCall %bool %takes_half4x4_bh44 %227
OpBranch %226
%226 = OpLabel
%229 = OpPhi %bool %false %221 %228 %225
OpSelectionMerge %231 None
OpBranchConditional %229 %230 %231
%230 = OpLabel
OpStore %232 %true
%233 = OpFunctionCall %bool %takes_bool_bb %232
OpBranch %231
%231 = OpLabel
%234 = OpPhi %bool %false %226 %233 %230
OpSelectionMerge %236 None
OpBranchConditional %234 %235 %236
%235 = OpLabel
OpStore %238 %237
%239 = OpFunctionCall %bool %takes_bool2_bb2 %238
OpBranch %236
%236 = OpLabel
%240 = OpPhi %bool %false %231 %239 %235
OpSelectionMerge %242 None
OpBranchConditional %240 %241 %242
%241 = OpLabel
OpStore %244 %243
%245 = OpFunctionCall %bool %takes_bool3_bb3 %244
OpBranch %242
%242 = OpLabel
%246 = OpPhi %bool %false %236 %245 %241
OpSelectionMerge %248 None
OpBranchConditional %246 %247 %248
%247 = OpLabel
OpStore %250 %249
%251 = OpFunctionCall %bool %takes_bool4_bb4 %250
OpBranch %248
%248 = OpLabel
%252 = OpPhi %bool %false %242 %251 %247
OpSelectionMerge %254 None
OpBranchConditional %252 %253 %254
%253 = OpLabel
OpStore %256 %int_1
%257 = OpFunctionCall %bool %takes_int_bi %256
OpBranch %254
%254 = OpLabel
%258 = OpPhi %bool %false %248 %257 %253
OpSelectionMerge %260 None
OpBranchConditional %258 %259 %260
%259 = OpLabel
OpStore %263 %262
%264 = OpFunctionCall %bool %takes_int2_bi2 %263
OpBranch %260
%260 = OpLabel
%265 = OpPhi %bool %false %254 %264 %259
OpSelectionMerge %267 None
OpBranchConditional %265 %266 %267
%266 = OpLabel
OpStore %270 %269
%271 = OpFunctionCall %bool %takes_int3_bi3 %270
OpBranch %267
%267 = OpLabel
%272 = OpPhi %bool %false %260 %271 %266
OpSelectionMerge %274 None
OpBranchConditional %272 %273 %274
%273 = OpLabel
OpStore %277 %276
%278 = OpFunctionCall %bool %takes_int4_bi4 %277
OpBranch %274
%274 = OpLabel
%279 = OpPhi %bool %false %267 %278 %273
OpSelectionMerge %283 None
OpBranchConditional %279 %281 %282
%281 = OpLabel
%284 = OpAccessChain %_ptr_Uniform_v4float %33 %int_0
%287 = OpLoad %v4float %284
OpStore %280 %287
OpBranch %283
%282 = OpLabel
%288 = OpAccessChain %_ptr_Uniform_v4float %33 %int_1
%289 = OpLoad %v4float %288
OpStore %280 %289
OpBranch %283
%283 = OpLabel
%290 = OpLoad %v4float %280
OpReturnValue %290
OpFunctionEnd