; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 122 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %tint_symbol_1 OpExecutionMode %main OriginUpperLeft OpName %x_GLF_color "x_GLF_color" OpName %tint_symbol_1 "tint_symbol_1" OpName %func_ "func_" OpName %v "v" OpName %i "i" OpName %k "k" OpName %main_1 "main_1" OpName %j "j" OpName %data "data" OpName %j_1 "j_1" OpName %main_out "main_out" OpMemberName %main_out 0 "x_GLF_color_1" OpName %tint_symbol_2 "tint_symbol_2" OpName %tint_symbol "tint_symbol" OpName %main "main" OpDecorate %tint_symbol_1 Location 0 OpDecorate %_arr_v3float_uint_2 ArrayStride 16 OpMemberDecorate %main_out 0 Offset 0 %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Private_v4float = OpTypePointer Private %v4float %5 = OpConstantNull %v4float %x_GLF_color = OpVariable %_ptr_Private_v4float Private %5 %_ptr_Output_v4float = OpTypePointer Output %v4float %tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5 %v3float = OpTypeVector %float 3 %8 = OpTypeFunction %v3float %v2float = OpTypeVector %float 2 %_ptr_Function_v2float = OpTypePointer Function %v2float %15 = OpConstantNull %v2float %int = OpTypeInt 32 1 %_ptr_Function_int = OpTypePointer Function %int %19 = OpConstantNull %int %float_1 = OpConstant %float 1 %22 = OpConstantComposite %v2float %float_1 %float_1 %int_0 = OpConstant %int 0 %int_2 = OpConstant %int 2 %bool = OpTypeBool %uint = OpTypeInt 32 0 %uint_1 = OpConstant %uint 1 %_ptr_Function_float = OpTypePointer Function %float %float_4 = OpConstant %float 4 %int_1 = OpConstant %int 1 %int_10 = OpConstant %int 10 %float_0 = OpConstant %float 0 %58 = OpConstantComposite %v3float %float_1 %float_0 %float_0 %59 = OpConstantComposite %v3float %float_0 %float_0 %float_1 %60 = OpConstantComposite %v3float %float_0 %float_0 %float_0 %void = OpTypeVoid %61 = OpTypeFunction %void %uint_2 = OpConstant %uint 2 %_arr_v3float_uint_2 = OpTypeArray %v3float %uint_2 %_ptr_Function__arr_v3float_uint_2 = OpTypePointer Function %_arr_v3float_uint_2 %70 = OpConstantNull %_arr_v3float_uint_2 %_ptr_Function_v3float = OpTypePointer Function %v3float %int_4 = OpConstant %int 4 %main_out = OpTypeStruct %v4float %110 = OpTypeFunction %void %main_out %func_ = OpFunction %v3float None %8 %11 = OpLabel %v = OpVariable %_ptr_Function_v2float Function %15 %i = OpVariable %_ptr_Function_int Function %19 %k = OpVariable %_ptr_Function_int Function %19 OpStore %v %22 OpStore %i %int_0 OpStore %k %int_0 OpBranch %24 %24 = OpLabel OpLoopMerge %25 %26 None OpBranch %27 %27 = OpLabel %28 = OpLoad %int %k %30 = OpSLessThan %bool %28 %int_2 OpSelectionMerge %32 None OpBranchConditional %30 %33 %34 %33 = OpLabel OpBranch %32 %34 = OpLabel OpBranch %25 %32 = OpLabel %38 = OpAccessChain %_ptr_Function_float %v %uint_1 %39 = OpLoad %float %38 %40 = OpFAdd %float %39 %float_1 %42 = OpFOrdGreaterThan %bool %40 %float_4 OpSelectionMerge %43 None OpBranchConditional %42 %44 %43 %44 = OpLabel OpBranch %25 %43 = OpLabel %45 = OpAccessChain %_ptr_Function_float %v %uint_1 OpStore %45 %float_1 %46 = OpLoad %int %i %48 = OpIAdd %int %46 %int_1 OpStore %i %48 OpBranch %26 %26 = OpLabel %49 = OpLoad %int %k %50 = OpIAdd %int %49 %int_1 OpStore %k %50 OpBranch %24 %25 = OpLabel %51 = OpLoad %int %i %53 = OpSLessThan %bool %51 %int_10 OpSelectionMerge %54 None OpBranchConditional %53 %55 %56 %55 = OpLabel OpReturnValue %58 %56 = OpLabel OpReturnValue %59 %54 = OpLabel OpReturnValue %60 OpFunctionEnd %main_1 = OpFunction %void None %61 %64 = OpLabel %j = OpVariable %_ptr_Function_int Function %19 %data = OpVariable %_ptr_Function__arr_v3float_uint_2 Function %70 %j_1 = OpVariable %_ptr_Function_int Function %19 OpStore %j %int_0 OpBranch %72 %72 = OpLabel OpLoopMerge %73 %74 None OpBranch %75 %75 = OpLabel %76 = OpLoad %int %j %77 = OpSLessThan %bool %76 %int_1 OpSelectionMerge %78 None OpBranchConditional %77 %79 %80 %79 = OpLabel OpBranch %78 %80 = OpLabel OpBranch %73 %78 = OpLabel %81 = OpLoad %int %j %82 = OpFunctionCall %v3float %func_ %84 = OpAccessChain %_ptr_Function_v3float %data %81 OpStore %84 %82 OpBranch %74 %74 = OpLabel %85 = OpLoad %int %j %86 = OpIAdd %int %85 %int_1 OpStore %j %86 OpBranch %72 %73 = OpLabel OpStore %j_1 %int_0 OpBranch %87 %87 = OpLabel OpLoopMerge %88 %89 None OpBranch %90 %90 = OpLabel %91 = OpLoad %int %j_1 %92 = OpSLessThan %bool %91 %int_1 OpSelectionMerge %93 None OpBranchConditional %92 %94 %95 %94 = OpLabel OpBranch %93 %95 = OpLabel OpBranch %88 %93 = OpLabel %96 = OpLoad %int %j_1 %97 = OpFunctionCall %v3float %func_ %99 = OpIMul %int %int_4 %96 %100 = OpIAdd %int %99 %int_1 %101 = OpAccessChain %_ptr_Function_v3float %data %100 OpStore %101 %97 OpBranch %89 %89 = OpLabel %102 = OpLoad %int %j_1 %103 = OpIAdd %int %102 %int_1 OpStore %j_1 %103 OpBranch %87 %88 = OpLabel %104 = OpAccessChain %_ptr_Function_v3float %data %int_0 %105 = OpLoad %v3float %104 %106 = OpCompositeExtract %float %105 0 %107 = OpCompositeExtract %float %105 1 %108 = OpCompositeExtract %float %105 2 %109 = OpCompositeConstruct %v4float %106 %107 %108 %float_1 OpStore %x_GLF_color %109 OpReturn OpFunctionEnd %tint_symbol_2 = OpFunction %void None %110 %tint_symbol = OpFunctionParameter %main_out %114 = OpLabel %115 = OpCompositeExtract %v4float %tint_symbol 0 OpStore %tint_symbol_1 %115 OpReturn OpFunctionEnd %main = OpFunction %void None %61 %117 = OpLabel %118 = OpFunctionCall %void %main_1 %120 = OpLoad %v4float %x_GLF_color %121 = OpCompositeConstruct %main_out %120 %119 = OpFunctionCall %void %tint_symbol_2 %121 OpReturn OpFunctionEnd