1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor 5 OpExecutionMode %_entrypoint_v OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %_UniformBuffer "_UniformBuffer" 8 OpMemberName %_UniformBuffer 0 "colorGreen" 9 OpName %_entrypoint_v "_entrypoint_v" 10 OpName %main "main" 11 OpName %_0_x "_0_x" 12 OpName %_1_x "_1_x" 13 OpDecorate %sk_FragColor RelaxedPrecision 14 OpDecorate %sk_FragColor Location 0 15 OpDecorate %sk_FragColor Index 0 16 OpMemberDecorate %_UniformBuffer 0 Offset 0 17 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 18 OpDecorate %_UniformBuffer Block 19 OpDecorate %7 Binding 0 20 OpDecorate %7 DescriptorSet 0 21 OpDecorate %47 RelaxedPrecision 22 %float = OpTypeFloat 32 23 %v4float = OpTypeVector %float 4 24%_ptr_Output_v4float = OpTypePointer Output %v4float 25%sk_FragColor = OpVariable %_ptr_Output_v4float Output 26%_UniformBuffer = OpTypeStruct %v4float 27%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 28 %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 29 %void = OpTypeVoid 30 %12 = OpTypeFunction %void 31 %float_0 = OpConstant %float 0 32 %v2float = OpTypeVector %float 2 33 %16 = OpConstantComposite %v2float %float_0 %float_0 34%_ptr_Function_v2float = OpTypePointer Function %v2float 35 %20 = OpTypeFunction %v4float %_ptr_Function_v2float 36%_ptr_Function_float = OpTypePointer Function %float 37 %float_1 = OpConstant %float 1 38 %float_2 = OpConstant %float 2 39 %32 = OpConstantComposite %v2float %float_1 %float_2 40 %float_3 = OpConstant %float 3 41 %float_4 = OpConstant %float 4 42 %38 = OpConstantComposite %v2float %float_3 %float_4 43%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 44 %int = OpTypeInt 32 1 45 %int_0 = OpConstant %int 0 46%_entrypoint_v = OpFunction %void None %12 47 %13 = OpLabel 48 %17 = OpVariable %_ptr_Function_v2float Function 49 OpStore %17 %16 50 %19 = OpFunctionCall %v4float %main %17 51 OpStore %sk_FragColor %19 52 OpReturn 53 OpFunctionEnd 54 %main = OpFunction %v4float None %20 55 %21 = OpFunctionParameter %_ptr_Function_v2float 56 %22 = OpLabel 57 %_0_x = OpVariable %_ptr_Function_float Function 58 %_1_x = OpVariable %_ptr_Function_v2float Function 59 OpStore %_0_x %float_1 60 %26 = OpExtInst %float %1 Length %float_1 61 OpStore %_0_x %26 62 %27 = OpExtInst %float %1 Distance %26 %float_2 63 OpStore %_0_x %27 64 %29 = OpFMul %float %27 %float_2 65 OpStore %_0_x %29 66 %30 = OpExtInst %float %1 Normalize %29 67 OpStore %_0_x %30 68 OpStore %_1_x %32 69 %33 = OpExtInst %float %1 Length %32 70 %34 = OpCompositeConstruct %v2float %33 %33 71 OpStore %_1_x %34 72 %35 = OpExtInst %float %1 Distance %34 %38 73 %39 = OpCompositeConstruct %v2float %35 %35 74 OpStore %_1_x %39 75 %40 = OpDot %float %39 %38 76 %41 = OpCompositeConstruct %v2float %40 %40 77 OpStore %_1_x %41 78 %42 = OpExtInst %v2float %1 Normalize %41 79 OpStore %_1_x %42 80 %43 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 81 %47 = OpLoad %v4float %43 82 OpReturnValue %47 83 OpFunctionEnd 84