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 %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "colorGreen" 10OpName %_entrypoint_v "_entrypoint_v" 11OpName %main "main" 12OpName %_0_x "_0_x" 13OpName %_1_x "_1_x" 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 20OpDecorate %_UniformBuffer Block 21OpDecorate %10 Binding 0 22OpDecorate %10 DescriptorSet 0 23OpDecorate %58 RelaxedPrecision 24%float = OpTypeFloat 32 25%v4float = OpTypeVector %float 4 26%_ptr_Output_v4float = OpTypePointer Output %v4float 27%sk_FragColor = OpVariable %_ptr_Output_v4float Output 28%bool = OpTypeBool 29%_ptr_Input_bool = OpTypePointer Input %bool 30%sk_Clockwise = OpVariable %_ptr_Input_bool Input 31%_UniformBuffer = OpTypeStruct %v4float 32%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 33%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 34%void = OpTypeVoid 35%15 = OpTypeFunction %void 36%v2float = OpTypeVector %float 2 37%float_0 = OpConstant %float 0 38%19 = OpConstantComposite %v2float %float_0 %float_0 39%_ptr_Function_v2float = OpTypePointer Function %v2float 40%23 = OpTypeFunction %v4float %_ptr_Function_v2float 41%_ptr_Function_float = OpTypePointer Function %float 42%float_1 = OpConstant %float 1 43%float_2 = OpConstant %float 2 44%39 = OpConstantComposite %v2float %float_1 %float_2 45%float_3 = OpConstant %float 3 46%float_4 = OpConstant %float 4 47%47 = OpConstantComposite %v2float %float_3 %float_4 48%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 49%int = OpTypeInt 32 1 50%int_0 = OpConstant %int 0 51%_entrypoint_v = OpFunction %void None %15 52%16 = OpLabel 53%20 = OpVariable %_ptr_Function_v2float Function 54OpStore %20 %19 55%22 = OpFunctionCall %v4float %main %20 56OpStore %sk_FragColor %22 57OpReturn 58OpFunctionEnd 59%main = OpFunction %v4float None %23 60%24 = OpFunctionParameter %_ptr_Function_v2float 61%25 = OpLabel 62%_0_x = OpVariable %_ptr_Function_float Function 63%_1_x = OpVariable %_ptr_Function_v2float Function 64OpStore %_0_x %float_1 65%30 = OpLoad %float %_0_x 66%29 = OpExtInst %float %1 Length %30 67OpStore %_0_x %29 68%32 = OpLoad %float %_0_x 69%31 = OpExtInst %float %1 Distance %32 %float_2 70OpStore %_0_x %31 71%35 = OpLoad %float %_0_x 72%34 = OpFMul %float %35 %float_2 73OpStore %_0_x %34 74%37 = OpLoad %float %_0_x 75%36 = OpExtInst %float %1 Normalize %37 76OpStore %_0_x %36 77OpStore %_1_x %39 78%41 = OpLoad %v2float %_1_x 79%40 = OpExtInst %float %1 Length %41 80%42 = OpCompositeConstruct %v2float %40 %40 81OpStore %_1_x %42 82%44 = OpLoad %v2float %_1_x 83%43 = OpExtInst %float %1 Distance %44 %47 84%48 = OpCompositeConstruct %v2float %43 %43 85OpStore %_1_x %48 86%50 = OpLoad %v2float %_1_x 87%49 = OpDot %float %50 %47 88%51 = OpCompositeConstruct %v2float %49 %49 89OpStore %_1_x %51 90%53 = OpLoad %v2float %_1_x 91%52 = OpExtInst %v2float %1 Normalize %53 92OpStore %_1_x %52 93%54 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 94%58 = OpLoad %v4float %54 95OpReturnValue %58 96OpFunctionEnd 97