OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %_GLF_color OpExecutionMode %main OriginUpperLeft OpSource ESSL 320 OpName %main "main" OpName %m43 "m43" OpName %buf1 "buf1" OpMemberName %buf1 0 "_GLF_uniform_float_values" OpName %_ "" OpName %buf0 "buf0" OpMemberName %buf0 0 "_GLF_uniform_int_values" OpName %__0 "" OpName %sums "sums" OpName %i "i" OpName %a "a" OpName %_GLF_color "_GLF_color" OpDecorate %_arr_float_uint_3 ArrayStride 16 OpMemberDecorate %buf1 0 Offset 0 OpDecorate %buf1 Block OpDecorate %_ DescriptorSet 0 OpDecorate %_ Binding 1 OpDecorate %_arr_int_uint_4 ArrayStride 16 OpMemberDecorate %buf0 0 Offset 0 OpDecorate %buf0 Block OpDecorate %__0 DescriptorSet 0 OpDecorate %__0 Binding 0 OpDecorate %_GLF_color Location 0 %void = OpTypeVoid %15 = OpTypeFunction %void %float = OpTypeFloat 32 %v3float = OpTypeVector %float 3 %mat4v3float = OpTypeMatrix %v3float 4 %_ptr_Function_mat4v3float = OpTypePointer Function %mat4v3float %uint = OpTypeInt 32 0 %uint_3 = OpConstant %uint 3 %_arr_float_uint_3 = OpTypeArray %float %uint_3 %buf1 = OpTypeStruct %_arr_float_uint_3 %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 %_ = OpVariable %_ptr_Uniform_buf1 Uniform %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %int_1 = OpConstant %int 1 %_ptr_Uniform_float = OpTypePointer Uniform %float %float_1 = OpConstant %float 1 %float_0 = OpConstant %float 0 %uint_4 = OpConstant %uint 4 %_arr_int_uint_4 = OpTypeArray %int %uint_4 %buf0 = OpTypeStruct %_arr_int_uint_4 %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %__0 = OpVariable %_ptr_Uniform_buf0 Uniform %_ptr_Uniform_int = OpTypePointer Uniform %int %_ptr_Function_float = OpTypePointer Function %float %_ptr_Function__arr_float_uint_3 = OpTypePointer Function %_arr_float_uint_3 %_ptr_Function_int = OpTypePointer Function %int %int_3 = OpConstant %int 3 %bool = OpTypeBool %int_4 = OpConstant %int 4 %int_2 = OpConstant %int 2 %v4float = OpTypeVector %float 4 %_ptr_Output_v4float = OpTypePointer Output %v4float %_GLF_color = OpVariable %_ptr_Output_v4float Output %41 = OpConstantComposite %v3float %float_0 %float_0 %float_0 %main = OpFunction %void None %15 %42 = OpLabel %m43 = OpVariable %_ptr_Function_mat4v3float Function %sums = OpVariable %_ptr_Function__arr_float_uint_3 Function %i = OpVariable %_ptr_Function_int Function %a = OpVariable %_ptr_Function_int Function %43 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 %44 = OpLoad %float %43 %45 = OpCompositeConstruct %v3float %44 %float_0 %float_0 %46 = OpCompositeConstruct %v3float %float_0 %44 %float_0 %47 = OpCompositeConstruct %v3float %float_0 %float_0 %44 %48 = OpCompositeConstruct %v3float %float_0 %float_0 %float_0 %49 = OpCompositeConstruct %mat4v3float %45 %46 %47 %41 OpStore %m43 %49 %50 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %51 = OpLoad %int %50 %52 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %53 = OpLoad %int %52 %54 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0 %55 = OpLoad %float %54 %56 = OpAccessChain %_ptr_Function_float %m43 %51 %53 OpStore %56 %55 %57 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0 %58 = OpLoad %float %57 %59 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0 %60 = OpLoad %float %59 %61 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0 %62 = OpLoad %float %61 %63 = OpCompositeConstruct %_arr_float_uint_3 %58 %60 %62 OpStore %sums %63 %64 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %65 = OpLoad %int %64 OpStore %i %65 OpBranch %66 %66 = OpLabel %67 = OpPhi %int %65 %42 %68 %69 OpLoopMerge %70 %69 None OpBranch %71 %71 = OpLabel %72 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3 %73 = OpLoad %int %72 %74 = OpSLessThan %bool %67 %73 OpBranchConditional %74 %75 %70 %75 = OpLabel %76 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %77 = OpLoad %int %76 %78 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %79 = OpLoad %int %78 %80 = OpAccessChain %_ptr_Function_float %m43 %67 %79 %81 = OpLoad %float %80 %82 = OpAccessChain %_ptr_Function_float %sums %77 %83 = OpLoad %float %82 %84 = OpFAdd %float %83 %81 %85 = OpAccessChain %_ptr_Function_float %sums %77 OpStore %85 %84 OpBranch %69 %69 = OpLabel %68 = OpIAdd %int %67 %int_1 OpStore %i %68 OpBranch %66 %70 = OpLabel %86 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %87 = OpLoad %int %86 %88 = OpIEqual %bool %87 %int_1 OpSelectionMerge %89 None OpBranchConditional %88 %90 %89 %90 = OpLabel OpStore %a %int_4 %91 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2 %92 = OpLoad %int %91 %93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %94 = OpLoad %int %93 %95 = OpAccessChain %_ptr_Function_float %m43 %int_4 %94 %96 = OpLoad %float %95 %97 = OpAccessChain %_ptr_Function_float %sums %92 %98 = OpLoad %float %97 %99 = OpFAdd %float %98 %96 %100 = OpAccessChain %_ptr_Function_float %sums %92 OpStore %100 %99 OpBranch %89 %89 = OpLabel %101 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %102 = OpLoad %int %101 %103 = OpAccessChain %_ptr_Function_float %sums %102 %104 = OpLoad %float %103 %105 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %106 = OpLoad %int %105 %107 = OpAccessChain %_ptr_Function_float %sums %106 %108 = OpLoad %float %107 %109 = OpFAdd %float %104 %108 %110 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2 %111 = OpLoad %float %110 %112 = OpFOrdEqual %bool %109 %111 OpSelectionMerge %113 None OpBranchConditional %112 %114 %115 %114 = OpLabel %116 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %117 = OpLoad %int %116 %118 = OpConvertSToF %float %117 %119 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %120 = OpLoad %int %119 %121 = OpConvertSToF %float %120 %122 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %123 = OpLoad %int %122 %124 = OpConvertSToF %float %123 %125 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %126 = OpLoad %int %125 %127 = OpConvertSToF %float %126 %128 = OpCompositeConstruct %v4float %118 %121 %124 %127 OpStore %_GLF_color %128 OpBranch %113 %115 = OpLabel %129 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %130 = OpLoad %int %129 %131 = OpConvertSToF %float %130 %132 = OpCompositeConstruct %v4float %131 %131 %131 %131 OpStore %_GLF_color %132 OpBranch %113 %113 = OpLabel OpReturn OpFunctionEnd