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 "ah" 10OpMemberName %_UniformBuffer 1 "bh" 11OpMemberName %_UniformBuffer 2 "af" 12OpMemberName %_UniformBuffer 3 "bf" 13OpName %main "main" 14OpDecorate %sk_FragColor RelaxedPrecision 15OpDecorate %sk_FragColor Location 0 16OpDecorate %sk_FragColor Index 0 17OpDecorate %sk_Clockwise BuiltIn FrontFacing 18OpMemberDecorate %_UniformBuffer 0 Offset 0 19OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 20OpMemberDecorate %_UniformBuffer 1 Offset 8 21OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 22OpMemberDecorate %_UniformBuffer 2 Offset 16 23OpMemberDecorate %_UniformBuffer 3 Offset 24 24OpDecorate %_UniformBuffer Block 25OpDecorate %10 Binding 0 26OpDecorate %10 DescriptorSet 0 27OpDecorate %21 RelaxedPrecision 28OpDecorate %22 RelaxedPrecision 29OpDecorate %25 RelaxedPrecision 30OpDecorate %26 RelaxedPrecision 31OpDecorate %27 RelaxedPrecision 32OpDecorate %29 RelaxedPrecision 33OpDecorate %30 RelaxedPrecision 34OpDecorate %32 RelaxedPrecision 35OpDecorate %33 RelaxedPrecision 36OpDecorate %34 RelaxedPrecision 37OpDecorate %35 RelaxedPrecision 38OpDecorate %60 RelaxedPrecision 39OpDecorate %61 RelaxedPrecision 40OpDecorate %62 RelaxedPrecision 41OpDecorate %66 RelaxedPrecision 42OpDecorate %67 RelaxedPrecision 43OpDecorate %68 RelaxedPrecision 44%float = OpTypeFloat 32 45%v4float = OpTypeVector %float 4 46%_ptr_Output_v4float = OpTypePointer Output %v4float 47%sk_FragColor = OpVariable %_ptr_Output_v4float Output 48%bool = OpTypeBool 49%_ptr_Input_bool = OpTypePointer Input %bool 50%sk_Clockwise = OpVariable %_ptr_Input_bool Input 51%v2float = OpTypeVector %float 2 52%_UniformBuffer = OpTypeStruct %v2float %v2float %v2float %v2float 53%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 54%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 55%void = OpTypeVoid 56%15 = OpTypeFunction %void 57%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float 58%int = OpTypeInt 32 1 59%int_0 = OpConstant %int 0 60%int_1 = OpConstant %int 1 61%_ptr_Output_float = OpTypePointer Output %float 62%int_2 = OpConstant %int 2 63%int_3 = OpConstant %int 3 64%float_12 = OpConstant %float 12 65%v3float = OpTypeVector %float 3 66%float_n8 = OpConstant %float -8 67%60 = OpConstantComposite %v3float %float_n8 %float_n8 %float_12 68%float_9 = OpConstant %float 9 69%float_n18 = OpConstant %float -18 70%float_n9 = OpConstant %float -9 71%66 = OpConstantComposite %v3float %float_9 %float_n18 %float_n9 72%main = OpFunction %void None %15 73%16 = OpLabel 74%17 = OpAccessChain %_ptr_Uniform_v2float %10 %int_0 75%21 = OpLoad %v2float %17 76%22 = OpCompositeExtract %float %21 0 77%23 = OpAccessChain %_ptr_Uniform_v2float %10 %int_1 78%25 = OpLoad %v2float %23 79%26 = OpCompositeExtract %float %25 1 80%27 = OpFMul %float %22 %26 81%28 = OpAccessChain %_ptr_Uniform_v2float %10 %int_0 82%29 = OpLoad %v2float %28 83%30 = OpCompositeExtract %float %29 1 84%31 = OpAccessChain %_ptr_Uniform_v2float %10 %int_1 85%32 = OpLoad %v2float %31 86%33 = OpCompositeExtract %float %32 0 87%34 = OpFMul %float %30 %33 88%35 = OpFSub %float %27 %34 89%36 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 90OpStore %36 %35 91%38 = OpAccessChain %_ptr_Uniform_v2float %10 %int_2 92%40 = OpLoad %v2float %38 93%41 = OpCompositeExtract %float %40 0 94%42 = OpAccessChain %_ptr_Uniform_v2float %10 %int_3 95%44 = OpLoad %v2float %42 96%45 = OpCompositeExtract %float %44 1 97%46 = OpFMul %float %41 %45 98%47 = OpAccessChain %_ptr_Uniform_v2float %10 %int_2 99%48 = OpLoad %v2float %47 100%49 = OpCompositeExtract %float %48 1 101%50 = OpAccessChain %_ptr_Uniform_v2float %10 %int_3 102%51 = OpLoad %v2float %50 103%52 = OpCompositeExtract %float %51 0 104%53 = OpFMul %float %49 %52 105%54 = OpFSub %float %46 %53 106%55 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1 107OpStore %55 %54 108%57 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_2 109OpStore %57 %float_12 110%61 = OpLoad %v4float %sk_FragColor 111%62 = OpVectorShuffle %v4float %61 %60 4 5 6 3 112OpStore %sk_FragColor %62 113%67 = OpLoad %v4float %sk_FragColor 114%68 = OpVectorShuffle %v4float %67 %66 0 4 5 6 115OpStore %sk_FragColor %68 116OpReturn 117OpFunctionEnd 118