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 "testArray" 10OpMemberName %_UniformBuffer 1 "colorGreen" 11OpMemberName %_UniformBuffer 2 "colorRed" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %main "main" 14OpName %index "index" 15OpDecorate %sk_FragColor RelaxedPrecision 16OpDecorate %sk_FragColor Location 0 17OpDecorate %sk_FragColor Index 0 18OpDecorate %sk_Clockwise BuiltIn FrontFacing 19OpDecorate %_arr_float_int_5 ArrayStride 16 20OpMemberDecorate %_UniformBuffer 0 Offset 0 21OpMemberDecorate %_UniformBuffer 1 Offset 80 22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 23OpMemberDecorate %_UniformBuffer 2 Offset 96 24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 25OpDecorate %_UniformBuffer Block 26OpDecorate %10 Binding 0 27OpDecorate %10 DescriptorSet 0 28OpDecorate %55 RelaxedPrecision 29OpDecorate %59 RelaxedPrecision 30%float = OpTypeFloat 32 31%v4float = OpTypeVector %float 4 32%_ptr_Output_v4float = OpTypePointer Output %v4float 33%sk_FragColor = OpVariable %_ptr_Output_v4float Output 34%bool = OpTypeBool 35%_ptr_Input_bool = OpTypePointer Input %bool 36%sk_Clockwise = OpVariable %_ptr_Input_bool Input 37%int = OpTypeInt 32 1 38%int_5 = OpConstant %int 5 39%_arr_float_int_5 = OpTypeArray %float %int_5 40%_UniformBuffer = OpTypeStruct %_arr_float_int_5 %v4float %v4float 41%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 42%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 43%void = OpTypeVoid 44%18 = OpTypeFunction %void 45%v2float = OpTypeVector %float 2 46%float_0 = OpConstant %float 0 47%22 = OpConstantComposite %v2float %float_0 %float_0 48%_ptr_Function_v2float = OpTypePointer Function %v2float 49%26 = OpTypeFunction %v4float %_ptr_Function_v2float 50%_ptr_Function_int = OpTypePointer Function %int 51%int_0 = OpConstant %int 0 52%_ptr_Uniform__arr_float_int_5 = OpTypePointer Uniform %_arr_float_int_5 53%_ptr_Uniform_float = OpTypePointer Uniform %float 54%int_1 = OpConstant %int 1 55%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 56%int_2 = OpConstant %int 2 57%_entrypoint_v = OpFunction %void None %18 58%19 = OpLabel 59%23 = OpVariable %_ptr_Function_v2float Function 60OpStore %23 %22 61%25 = OpFunctionCall %v4float %main %23 62OpStore %sk_FragColor %25 63OpReturn 64OpFunctionEnd 65%main = OpFunction %v4float None %26 66%27 = OpFunctionParameter %_ptr_Function_v2float 67%28 = OpLabel 68%index = OpVariable %_ptr_Function_int Function 69OpStore %index %int_0 70OpBranch %32 71%32 = OpLabel 72OpLoopMerge %36 %35 None 73OpBranch %33 74%33 = OpLabel 75%37 = OpLoad %int %index 76%38 = OpSLessThan %bool %37 %int_5 77OpBranchConditional %38 %34 %36 78%34 = OpLabel 79%39 = OpAccessChain %_ptr_Uniform__arr_float_int_5 %10 %int_0 80%41 = OpLoad %int %index 81%42 = OpAccessChain %_ptr_Uniform_float %39 %41 82%44 = OpLoad %float %42 83%45 = OpLoad %int %index 84%47 = OpIAdd %int %45 %int_1 85%48 = OpConvertSToF %float %47 86%49 = OpFOrdNotEqual %bool %44 %48 87OpSelectionMerge %51 None 88OpBranchConditional %49 %50 %51 89%50 = OpLabel 90%52 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 91%55 = OpLoad %v4float %52 92OpReturnValue %55 93%51 = OpLabel 94OpBranch %35 95%35 = OpLabel 96%56 = OpLoad %int %index 97%57 = OpIAdd %int %56 %int_1 98OpStore %index %57 99OpBranch %32 100%36 = OpLabel 101%58 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 102%59 = OpLoad %v4float %58 103OpReturnValue %59 104OpFunctionEnd 105