; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 152 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %tint_symbol_1 OpExecutionMode %main OriginUpperLeft OpName %buf0 "buf0" OpMemberName %buf0 0 "injected" OpName %x_9 "x_9" OpName %x_GLF_color "x_GLF_color" OpName %tint_symbol_1 "tint_symbol_1" OpName %main_1 "main_1" OpName %idx "idx" OpName %m43 "m43" OpName %ll_1 "ll_1" OpName %GLF_live6rows "GLF_live6rows" OpName %z "z" OpName %ll_2 "ll_2" OpName %ctr "ctr" OpName %tempm43 "tempm43" OpName %ll_3 "ll_3" OpName %c "c" OpName %d "d" OpName %GLF_live6sums "GLF_live6sums" 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 %buf0 Block OpMemberDecorate %buf0 0 Offset 0 OpDecorate %x_9 NonWritable OpDecorate %x_9 DescriptorSet 0 OpDecorate %x_9 Binding 0 OpDecorate %tint_symbol_1 Location 0 OpDecorate %_arr_float_uint_9 ArrayStride 4 OpMemberDecorate %main_out 0 Offset 0 %int = OpTypeInt 32 1 %buf0 = OpTypeStruct %int %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %x_9 = OpVariable %_ptr_Uniform_buf0 Uniform %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Private_v4float = OpTypePointer Private %v4float %9 = OpConstantNull %v4float %x_GLF_color = OpVariable %_ptr_Private_v4float Private %9 %_ptr_Output_v4float = OpTypePointer Output %v4float %tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %9 %void = OpTypeVoid %12 = OpTypeFunction %void %_ptr_Function_int = OpTypePointer Function %int %18 = OpConstantNull %int %v3float = OpTypeVector %float 3 %mat4v3float = OpTypeMatrix %v3float 4 %_ptr_Function_mat4v3float = OpTypePointer Function %mat4v3float %23 = OpConstantNull %mat4v3float %uint = OpTypeInt 32 0 %uint_9 = OpConstant %uint 9 %_arr_float_uint_9 = OpTypeArray %float %uint_9 %_ptr_Function__arr_float_uint_9 = OpTypePointer Function %_arr_float_uint_9 %38 = OpConstantNull %_arr_float_uint_9 %int_0 = OpConstant %int 0 %float_1 = OpConstant %float 1 %float_0 = OpConstant %float 0 %42 = OpConstantComposite %v3float %float_1 %float_0 %float_0 %43 = OpConstantComposite %v3float %float_0 %float_1 %float_0 %44 = OpConstantComposite %v3float %float_0 %float_0 %float_1 %45 = OpConstantComposite %v3float %float_0 %float_0 %float_0 %46 = OpConstantComposite %mat4v3float %42 %43 %44 %45 %int_2 = OpConstant %int 2 %uint_0 = OpConstant %uint 0 %_ptr_Uniform_int = OpTypePointer Uniform %int %bool = OpTypeBool %61 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %int_1 = OpConstant %int 1 %int_4 = OpConstant %int 4 %int_3 = OpConstant %int 3 %_ptr_Function_float = OpTypePointer Function %float %int_9 = OpConstant %int 9 %uint_1 = OpConstant %uint 1 %main_out = OpTypeStruct %v4float %140 = OpTypeFunction %void %main_out %main_1 = OpFunction %void None %12 %15 = OpLabel %idx = OpVariable %_ptr_Function_int Function %18 %m43 = OpVariable %_ptr_Function_mat4v3float Function %23 %ll_1 = OpVariable %_ptr_Function_int Function %18 %GLF_live6rows = OpVariable %_ptr_Function_int Function %18 %z = OpVariable %_ptr_Function_int Function %18 %ll_2 = OpVariable %_ptr_Function_int Function %18 %ctr = OpVariable %_ptr_Function_int Function %18 %tempm43 = OpVariable %_ptr_Function_mat4v3float Function %23 %ll_3 = OpVariable %_ptr_Function_int Function %18 %c = OpVariable %_ptr_Function_int Function %18 %d = OpVariable %_ptr_Function_int Function %18 %GLF_live6sums = OpVariable %_ptr_Function__arr_float_uint_9 Function %38 OpStore %idx %int_0 OpStore %m43 %46 OpStore %ll_1 %int_0 OpStore %GLF_live6rows %int_2 OpBranch %48 %48 = OpLabel OpLoopMerge %49 %50 None OpBranch %51 %51 = OpLabel %52 = OpLoad %int %ll_1 %55 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %56 = OpLoad %int %55 %57 = OpSGreaterThanEqual %bool %52 %56 OpSelectionMerge %59 None OpBranchConditional %57 %60 %59 %60 = OpLabel OpStore %x_GLF_color %61 OpBranch %49 %59 = OpLabel %62 = OpLoad %int %ll_1 %64 = OpIAdd %int %62 %int_1 OpStore %ll_1 %64 %65 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %66 = OpLoad %int %65 OpStore %z %66 OpStore %ll_2 %int_0 OpStore %ctr %int_0 OpBranch %67 %67 = OpLabel OpLoopMerge %68 %69 None OpBranch %70 %70 = OpLabel %71 = OpLoad %int %ctr %72 = OpSLessThan %bool %71 %int_1 OpSelectionMerge %73 None OpBranchConditional %72 %74 %75 %74 = OpLabel OpBranch %73 %75 = OpLabel OpBranch %68 %73 = OpLabel %76 = OpLoad %int %ll_2 %77 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %78 = OpLoad %int %77 %79 = OpSGreaterThanEqual %bool %76 %78 OpSelectionMerge %80 None OpBranchConditional %79 %81 %80 %81 = OpLabel OpBranch %68 %80 = OpLabel %82 = OpLoad %int %ll_2 %83 = OpIAdd %int %82 %int_1 OpStore %ll_2 %83 %84 = OpLoad %mat4v3float %m43 OpStore %tempm43 %84 OpStore %ll_3 %int_0 OpStore %c %int_0 OpBranch %85 %85 = OpLabel OpLoopMerge %86 %87 None OpBranch %88 %88 = OpLabel %89 = OpLoad %int %z %90 = OpSLessThan %bool %int_1 %89 OpSelectionMerge %91 None OpBranchConditional %90 %92 %93 %92 = OpLabel OpBranch %91 %93 = OpLabel OpBranch %86 %91 = OpLabel OpStore %d %int_0 %94 = OpLoad %int %c %95 = OpLoad %int %c %96 = OpLoad %int %c %97 = OpLoad %int %d %98 = OpLoad %int %d %99 = OpLoad %int %d %101 = OpSGreaterThanEqual %bool %94 %int_0 OpSelectionMerge %102 None OpBranchConditional %101 %103 %102 %103 = OpLabel %105 = OpSLessThan %bool %95 %int_4 OpBranch %102 %102 = OpLabel %106 = OpPhi %bool %101 %91 %105 %103 %100 = OpSelect %int %106 %96 %int_0 %108 = OpSGreaterThanEqual %bool %97 %int_0 OpSelectionMerge %109 None OpBranchConditional %108 %110 %109 %110 = OpLabel %112 = OpSLessThan %bool %98 %int_3 OpBranch %109 %109 = OpLabel %113 = OpPhi %bool %108 %102 %112 %110 %107 = OpSelect %int %113 %99 %int_0 %115 = OpAccessChain %_ptr_Function_float %tempm43 %100 %107 OpStore %115 %float_1 OpBranch %87 %87 = OpLabel %116 = OpLoad %int %c %117 = OpIAdd %int %116 %int_1 OpStore %c %117 OpBranch %85 %86 = OpLabel %118 = OpLoad %int %idx %119 = OpLoad %int %idx %120 = OpLoad %int %idx %122 = OpSGreaterThanEqual %bool %118 %int_0 OpSelectionMerge %123 None OpBranchConditional %122 %124 %123 %124 = OpLabel %126 = OpSLessThan %bool %119 %int_9 OpBranch %123 %123 = OpLabel %127 = OpPhi %bool %122 %86 %126 %124 %121 = OpSelect %int %127 %120 %int_0 %128 = OpLoad %int %ctr %130 = OpAccessChain %_ptr_Function_float %m43 %128 %uint_1 %131 = OpLoad %float %130 %132 = OpAccessChain %_ptr_Function_float %GLF_live6sums %121 %133 = OpLoad %float %132 %134 = OpAccessChain %_ptr_Function_float %GLF_live6sums %121 %135 = OpFAdd %float %133 %131 OpStore %134 %135 OpBranch %69 %69 = OpLabel %136 = OpLoad %int %ctr %137 = OpIAdd %int %136 %int_1 OpStore %ctr %137 OpBranch %67 %68 = OpLabel %138 = OpLoad %int %idx %139 = OpIAdd %int %138 %int_1 OpStore %idx %139 OpBranch %50 %50 = OpLabel OpBranch %48 %49 = OpLabel OpReturn OpFunctionEnd %tint_symbol_2 = OpFunction %void None %140 %tint_symbol = OpFunctionParameter %main_out %144 = OpLabel %145 = OpCompositeExtract %v4float %tint_symbol 0 OpStore %tint_symbol_1 %145 OpReturn OpFunctionEnd %main = OpFunction %void None %12 %147 = OpLabel %148 = OpFunctionCall %void %main_1 %150 = OpLoad %v4float %x_GLF_color %151 = OpCompositeConstruct %main_out %150 %149 = OpFunctionCall %void %tint_symbol_2 %151 OpReturn OpFunctionEnd