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 OpMemberName %_UniformBuffer 1 "colorRed" 10 OpName %_entrypoint_v "_entrypoint_v" 11 OpName %out_param_func2_ih "out_param_func2_ih" 12 OpName %main "main" 13 OpName %testArray "testArray" 14 OpDecorate %sk_FragColor RelaxedPrecision 15 OpDecorate %sk_FragColor Location 0 16 OpDecorate %sk_FragColor Index 0 17 OpMemberDecorate %_UniformBuffer 0 Offset 0 18 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 19 OpMemberDecorate %_UniformBuffer 1 Offset 16 20 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 21 OpDecorate %_UniformBuffer Block 22 OpDecorate %8 Binding 0 23 OpDecorate %8 DescriptorSet 0 24 OpDecorate %29 RelaxedPrecision 25 OpDecorate %30 RelaxedPrecision 26 OpDecorate %testArray RelaxedPrecision 27 OpDecorate %_arr_float_int_2 ArrayStride 16 28 OpDecorate %41 RelaxedPrecision 29 OpDecorate %43 RelaxedPrecision 30 OpDecorate %45 RelaxedPrecision 31 OpDecorate %49 RelaxedPrecision 32 OpDecorate %55 RelaxedPrecision 33 OpDecorate %64 RelaxedPrecision 34 OpDecorate %66 RelaxedPrecision 35 OpDecorate %67 RelaxedPrecision 36 %float = OpTypeFloat 32 37 %v4float = OpTypeVector %float 4 38%_ptr_Output_v4float = OpTypePointer Output %v4float 39%sk_FragColor = OpVariable %_ptr_Output_v4float Output 40%_UniformBuffer = OpTypeStruct %v4float %v4float 41%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 42 %8 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 43 %void = OpTypeVoid 44 %13 = OpTypeFunction %void 45 %float_0 = OpConstant %float 0 46 %v2float = OpTypeVector %float 2 47 %17 = OpConstantComposite %v2float %float_0 %float_0 48%_ptr_Function_v2float = OpTypePointer Function %v2float 49 %int = OpTypeInt 32 1 50%_ptr_Function_float = OpTypePointer Function %float 51 %23 = OpTypeFunction %int %_ptr_Function_float 52%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 53 %int_1 = OpConstant %int 1 54 %32 = OpTypeFunction %v4float %_ptr_Function_v2float 55 %int_2 = OpConstant %int 2 56%_arr_float_int_2 = OpTypeArray %float %int_2 57%_ptr_Function__arr_float_int_2 = OpTypePointer Function %_arr_float_int_2 58 %int_0 = OpConstant %int 0 59 %bool = OpTypeBool 60 %false = OpConstantFalse %bool 61 %float_1 = OpConstant %float 1 62%_ptr_Function_v4float = OpTypePointer Function %v4float 63%_entrypoint_v = OpFunction %void None %13 64 %14 = OpLabel 65 %18 = OpVariable %_ptr_Function_v2float Function 66 OpStore %18 %17 67 %20 = OpFunctionCall %v4float %main %18 68 OpStore %sk_FragColor %20 69 OpReturn 70 OpFunctionEnd 71%out_param_func2_ih = OpFunction %int None %23 72 %24 = OpFunctionParameter %_ptr_Function_float 73 %25 = OpLabel 74 %26 = OpAccessChain %_ptr_Uniform_v4float %8 %int_1 75 %29 = OpLoad %v4float %26 76 %30 = OpCompositeExtract %float %29 0 77 OpStore %24 %30 78 %31 = OpConvertFToS %int %30 79 OpReturnValue %31 80 OpFunctionEnd 81 %main = OpFunction %v4float None %32 82 %33 = OpFunctionParameter %_ptr_Function_v2float 83 %34 = OpLabel 84 %testArray = OpVariable %_ptr_Function__arr_float_int_2 Function 85 %41 = OpVariable %_ptr_Function_float Function 86 %58 = OpVariable %_ptr_Function_v4float Function 87 %40 = OpAccessChain %_ptr_Function_float %testArray %int_0 88 %42 = OpFunctionCall %int %out_param_func2_ih %41 89 %43 = OpLoad %float %41 90 OpStore %40 %43 91 %44 = OpAccessChain %_ptr_Function_float %testArray %42 92 %45 = OpLoad %float %44 93 %48 = OpAccessChain %_ptr_Function_float %testArray %int_0 94 %49 = OpLoad %float %48 95 %51 = OpFOrdEqual %bool %49 %float_1 96 OpSelectionMerge %53 None 97 OpBranchConditional %51 %52 %53 98 %52 = OpLabel 99 %54 = OpAccessChain %_ptr_Function_float %testArray %int_1 100 %55 = OpLoad %float %54 101 %56 = OpFOrdEqual %bool %55 %float_1 102 OpBranch %53 103 %53 = OpLabel 104 %57 = OpPhi %bool %false %34 %56 %52 105 OpSelectionMerge %62 None 106 OpBranchConditional %57 %60 %61 107 %60 = OpLabel 108 %63 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0 109 %64 = OpLoad %v4float %63 110 OpStore %58 %64 111 OpBranch %62 112 %61 = OpLabel 113 %65 = OpAccessChain %_ptr_Uniform_v4float %8 %int_1 114 %66 = OpLoad %v4float %65 115 OpStore %58 %66 116 OpBranch %62 117 %62 = OpLabel 118 %67 = OpLoad %v4float %58 119 OpReturnValue %67 120 OpFunctionEnd 121