1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise 5OpExecutionMode %main OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "src" 10OpMemberName %_UniformBuffer 1 "dst" 11OpName %main "main" 12OpDecorate %sk_FragColor RelaxedPrecision 13OpDecorate %sk_FragColor Location 0 14OpDecorate %sk_FragColor Index 0 15OpDecorate %sk_Clockwise BuiltIn FrontFacing 16OpMemberDecorate %_UniformBuffer 0 Offset 0 17OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 18OpMemberDecorate %_UniformBuffer 1 Offset 16 19OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 20OpDecorate %_UniformBuffer Block 21OpDecorate %10 Binding 0 22OpDecorate %10 DescriptorSet 0 23OpDecorate %20 RelaxedPrecision 24OpDecorate %21 RelaxedPrecision 25OpDecorate %25 RelaxedPrecision 26OpDecorate %26 RelaxedPrecision 27OpDecorate %27 RelaxedPrecision 28OpDecorate %30 RelaxedPrecision 29OpDecorate %31 RelaxedPrecision 30OpDecorate %32 RelaxedPrecision 31OpDecorate %34 RelaxedPrecision 32OpDecorate %35 RelaxedPrecision 33OpDecorate %36 RelaxedPrecision 34OpDecorate %37 RelaxedPrecision 35OpDecorate %38 RelaxedPrecision 36OpDecorate %39 RelaxedPrecision 37OpDecorate %40 RelaxedPrecision 38OpDecorate %42 RelaxedPrecision 39OpDecorate %43 RelaxedPrecision 40OpDecorate %46 RelaxedPrecision 41OpDecorate %47 RelaxedPrecision 42OpDecorate %48 RelaxedPrecision 43OpDecorate %50 RelaxedPrecision 44OpDecorate %51 RelaxedPrecision 45OpDecorate %52 RelaxedPrecision 46OpDecorate %53 RelaxedPrecision 47OpDecorate %54 RelaxedPrecision 48%float = OpTypeFloat 32 49%v4float = OpTypeVector %float 4 50%_ptr_Output_v4float = OpTypePointer Output %v4float 51%sk_FragColor = OpVariable %_ptr_Output_v4float Output 52%bool = OpTypeBool 53%_ptr_Input_bool = OpTypePointer Input %bool 54%sk_Clockwise = OpVariable %_ptr_Input_bool Input 55%_UniformBuffer = OpTypeStruct %v4float %v4float 56%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 57%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 58%void = OpTypeVoid 59%14 = OpTypeFunction %void 60%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 61%int = OpTypeInt 32 1 62%int_1 = OpConstant %int 1 63%v3float = OpTypeVector %float 3 64%int_0 = OpConstant %int 0 65%float_2 = OpConstant %float 2 66%float_1 = OpConstant %float 1 67%main = OpFunction %void None %14 68%15 = OpLabel 69%16 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 70%20 = OpLoad %v4float %16 71%21 = OpVectorShuffle %v3float %20 %20 0 1 2 72%23 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 73%25 = OpLoad %v4float %23 74%26 = OpVectorShuffle %v3float %25 %25 0 1 2 75%27 = OpFAdd %v3float %21 %26 76%29 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 77%30 = OpLoad %v4float %29 78%31 = OpVectorShuffle %v3float %30 %30 0 1 2 79%32 = OpVectorTimesScalar %v3float %31 %float_2 80%33 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 81%34 = OpLoad %v4float %33 82%35 = OpVectorShuffle %v3float %34 %34 0 1 2 83%36 = OpFMul %v3float %32 %35 84%37 = OpFSub %v3float %27 %36 85%38 = OpCompositeExtract %float %37 0 86%39 = OpCompositeExtract %float %37 1 87%40 = OpCompositeExtract %float %37 2 88%41 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 89%42 = OpLoad %v4float %41 90%43 = OpCompositeExtract %float %42 3 91%45 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 92%46 = OpLoad %v4float %45 93%47 = OpCompositeExtract %float %46 3 94%48 = OpFSub %float %float_1 %47 95%49 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 96%50 = OpLoad %v4float %49 97%51 = OpCompositeExtract %float %50 3 98%52 = OpFMul %float %48 %51 99%53 = OpFAdd %float %43 %52 100%54 = OpCompositeConstruct %v4float %38 %39 %40 %53 101OpStore %sk_FragColor %54 102OpReturn 103OpFunctionEnd 104