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 %_entrypoint_v "_entrypoint_v" 9OpName %main "main" 10OpName %B "B" 11OpName %F "F" 12OpName %I "I" 13OpDecorate %sk_FragColor RelaxedPrecision 14OpDecorate %sk_FragColor Location 0 15OpDecorate %sk_FragColor Index 0 16OpDecorate %sk_Clockwise BuiltIn FrontFacing 17OpDecorate %60 RelaxedPrecision 18OpDecorate %64 RelaxedPrecision 19OpDecorate %69 RelaxedPrecision 20OpDecorate %72 RelaxedPrecision 21OpDecorate %81 RelaxedPrecision 22OpDecorate %82 RelaxedPrecision 23%float = OpTypeFloat 32 24%v4float = OpTypeVector %float 4 25%_ptr_Output_v4float = OpTypePointer Output %v4float 26%sk_FragColor = OpVariable %_ptr_Output_v4float Output 27%bool = OpTypeBool 28%_ptr_Input_bool = OpTypePointer Input %bool 29%sk_Clockwise = OpVariable %_ptr_Input_bool Input 30%void = OpTypeVoid 31%12 = OpTypeFunction %void 32%v2float = OpTypeVector %float 2 33%float_0 = OpConstant %float 0 34%16 = OpConstantComposite %v2float %float_0 %float_0 35%_ptr_Function_v2float = OpTypePointer Function %v2float 36%20 = OpTypeFunction %v4float %_ptr_Function_v2float 37%v3bool = OpTypeVector %bool 3 38%_ptr_Function_v3bool = OpTypePointer Function %v3bool 39%true = OpConstantTrue %bool 40%_ptr_Function_bool = OpTypePointer Function %bool 41%int = OpTypeInt 32 1 42%int_0 = OpConstant %int 0 43%int_1 = OpConstant %int 1 44%int_2 = OpConstant %int 2 45%v3float = OpTypeVector %float 3 46%_ptr_Function_v3float = OpTypePointer Function %v3float 47%float_1_23000002 = OpConstant %float 1.23000002 48%_ptr_Function_float = OpTypePointer Function %float 49%float_1 = OpConstant %float 1 50%v3int = OpTypeVector %int 3 51%_ptr_Function_v3int = OpTypePointer Function %v3int 52%_ptr_Function_int = OpTypePointer Function %int 53%false = OpConstantFalse %bool 54%_entrypoint_v = OpFunction %void None %12 55%13 = OpLabel 56%17 = OpVariable %_ptr_Function_v2float Function 57OpStore %17 %16 58%19 = OpFunctionCall %v4float %main %17 59OpStore %sk_FragColor %19 60OpReturn 61OpFunctionEnd 62%main = OpFunction %v4float None %20 63%21 = OpFunctionParameter %_ptr_Function_v2float 64%22 = OpLabel 65%B = OpVariable %_ptr_Function_v3bool Function 66%F = OpVariable %_ptr_Function_v3float Function 67%I = OpVariable %_ptr_Function_v3int Function 68%27 = OpAccessChain %_ptr_Function_bool %B %int_0 69OpStore %27 %true 70%31 = OpAccessChain %_ptr_Function_bool %B %int_1 71OpStore %31 %true 72%33 = OpAccessChain %_ptr_Function_bool %B %int_2 73OpStore %33 %true 74%39 = OpAccessChain %_ptr_Function_float %F %int_0 75OpStore %39 %float_1_23000002 76%41 = OpAccessChain %_ptr_Function_float %F %int_1 77OpStore %41 %float_0 78%43 = OpAccessChain %_ptr_Function_float %F %int_2 79OpStore %43 %float_1 80%47 = OpAccessChain %_ptr_Function_int %I %int_0 81OpStore %47 %int_1 82%49 = OpAccessChain %_ptr_Function_int %I %int_1 83OpStore %49 %int_1 84%50 = OpAccessChain %_ptr_Function_int %I %int_2 85OpStore %50 %int_1 86%51 = OpLoad %v3float %F 87%52 = OpCompositeExtract %float %51 0 88%53 = OpLoad %v3float %F 89%54 = OpCompositeExtract %float %53 1 90%55 = OpFMul %float %52 %54 91%56 = OpLoad %v3float %F 92%57 = OpCompositeExtract %float %56 2 93%58 = OpFMul %float %55 %57 94%60 = OpLoad %v3bool %B 95%61 = OpCompositeExtract %bool %60 0 96OpSelectionMerge %63 None 97OpBranchConditional %61 %62 %63 98%62 = OpLabel 99%64 = OpLoad %v3bool %B 100%65 = OpCompositeExtract %bool %64 1 101OpBranch %63 102%63 = OpLabel 103%66 = OpPhi %bool %false %22 %65 %62 104OpSelectionMerge %68 None 105OpBranchConditional %66 %67 %68 106%67 = OpLabel 107%69 = OpLoad %v3bool %B 108%70 = OpCompositeExtract %bool %69 2 109OpBranch %68 110%68 = OpLabel 111%71 = OpPhi %bool %false %63 %70 %67 112%72 = OpSelect %float %71 %float_1 %float_0 113%73 = OpLoad %v3int %I 114%74 = OpCompositeExtract %int %73 0 115%75 = OpLoad %v3int %I 116%76 = OpCompositeExtract %int %75 1 117%77 = OpIMul %int %74 %76 118%78 = OpLoad %v3int %I 119%79 = OpCompositeExtract %int %78 2 120%80 = OpIMul %int %77 %79 121%81 = OpConvertSToF %float %80 122%82 = OpCompositeConstruct %v4float %58 %72 %float_0 %81 123OpReturnValue %82 124OpFunctionEnd 125