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