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 %m44 "m44" 11OpName %v4 "v4" 12OpDecorate %sk_FragColor RelaxedPrecision 13OpDecorate %sk_FragColor Location 0 14OpDecorate %sk_FragColor Index 0 15OpDecorate %sk_Clockwise BuiltIn FrontFacing 16OpDecorate %m44 RelaxedPrecision 17OpDecorate %21 RelaxedPrecision 18OpDecorate %23 RelaxedPrecision 19OpDecorate %24 RelaxedPrecision 20OpDecorate %25 RelaxedPrecision 21OpDecorate %26 RelaxedPrecision 22OpDecorate %v4 RelaxedPrecision 23OpDecorate %32 RelaxedPrecision 24OpDecorate %36 RelaxedPrecision 25OpDecorate %37 RelaxedPrecision 26OpDecorate %38 RelaxedPrecision 27OpDecorate %39 RelaxedPrecision 28OpDecorate %42 RelaxedPrecision 29OpDecorate %43 RelaxedPrecision 30OpDecorate %44 RelaxedPrecision 31OpDecorate %45 RelaxedPrecision 32OpDecorate %46 RelaxedPrecision 33OpDecorate %49 RelaxedPrecision 34OpDecorate %50 RelaxedPrecision 35OpDecorate %51 RelaxedPrecision 36OpDecorate %52 RelaxedPrecision 37OpDecorate %53 RelaxedPrecision 38OpDecorate %56 RelaxedPrecision 39OpDecorate %57 RelaxedPrecision 40OpDecorate %58 RelaxedPrecision 41OpDecorate %59 RelaxedPrecision 42OpDecorate %60 RelaxedPrecision 43%float = OpTypeFloat 32 44%v4float = OpTypeVector %float 4 45%_ptr_Output_v4float = OpTypePointer Output %v4float 46%sk_FragColor = OpVariable %_ptr_Output_v4float Output 47%bool = OpTypeBool 48%_ptr_Input_bool = OpTypePointer Input %bool 49%sk_Clockwise = OpVariable %_ptr_Input_bool Input 50%void = OpTypeVoid 51%12 = OpTypeFunction %void 52%15 = OpTypeFunction %v4float 53%mat4v4float = OpTypeMatrix %v4float 4 54%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float 55%float_123 = OpConstant %float 123 56%float_0 = OpConstant %float 0 57%_ptr_Function_v4float = OpTypePointer Function %v4float 58%float_1 = OpConstant %float 1 59%float_2 = OpConstant %float 2 60%float_3 = OpConstant %float 3 61%32 = OpConstantComposite %v4float %float_0 %float_1 %float_2 %float_3 62%int = OpTypeInt 32 1 63%int_0 = OpConstant %int 0 64%int_1 = OpConstant %int 1 65%int_2 = OpConstant %int 2 66%int_3 = OpConstant %int 3 67%_entrypoint_v = OpFunction %void None %12 68%13 = OpLabel 69%14 = OpFunctionCall %v4float %main 70OpStore %sk_FragColor %14 71OpReturn 72OpFunctionEnd 73%main = OpFunction %v4float None %15 74%16 = OpLabel 75%m44 = OpVariable %_ptr_Function_mat4v4float Function 76%v4 = OpVariable %_ptr_Function_v4float Function 77%23 = OpCompositeConstruct %v4float %float_123 %float_0 %float_0 %float_0 78%24 = OpCompositeConstruct %v4float %float_0 %float_123 %float_0 %float_0 79%25 = OpCompositeConstruct %v4float %float_0 %float_0 %float_123 %float_0 80%26 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_123 81%21 = OpCompositeConstruct %mat4v4float %23 %24 %25 %26 82OpStore %m44 %21 83OpStore %v4 %32 84%35 = OpAccessChain %_ptr_Function_v4float %m44 %int_0 85%36 = OpLoad %v4float %35 86%37 = OpLoad %v4float %v4 87%38 = OpCompositeExtract %float %37 0 88%39 = OpVectorTimesScalar %v4float %36 %38 89%41 = OpAccessChain %_ptr_Function_v4float %m44 %int_1 90%42 = OpLoad %v4float %41 91%43 = OpLoad %v4float %v4 92%44 = OpCompositeExtract %float %43 1 93%45 = OpVectorTimesScalar %v4float %42 %44 94%46 = OpFAdd %v4float %39 %45 95%48 = OpAccessChain %_ptr_Function_v4float %m44 %int_2 96%49 = OpLoad %v4float %48 97%50 = OpLoad %v4float %v4 98%51 = OpCompositeExtract %float %50 2 99%52 = OpVectorTimesScalar %v4float %49 %51 100%53 = OpFAdd %v4float %46 %52 101%55 = OpAccessChain %_ptr_Function_v4float %m44 %int_3 102%56 = OpLoad %v4float %55 103%57 = OpLoad %v4float %v4 104%58 = OpCompositeExtract %float %57 3 105%59 = OpVectorTimesScalar %v4float %56 %58 106%60 = OpFAdd %v4float %53 %59 107OpReturnValue %60 108OpFunctionEnd 109