; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 107
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %f "f"
               OpExecutionMode %f LocalSize 1 1 1
               OpName %u_block "u_block"
               OpMemberName %u_block 0 "inner"
               OpName %S_std140 "S_std140"
               OpMemberName %S_std140 0 "before"
               OpMemberName %S_std140 1 "m_0"
               OpMemberName %S_std140 2 "m_1"
               OpMemberName %S_std140 3 "m_2"
               OpMemberName %S_std140 4 "m_3"
               OpMemberName %S_std140 5 "after"
               OpName %u "u"
               OpName %s_block "s_block"
               OpMemberName %s_block 0 "inner"
               OpName %S "S"
               OpMemberName %S 0 "before"
               OpMemberName %S 1 "m"
               OpMemberName %S 2 "after"
               OpName %s "s"
               OpName %conv_S "conv_S"
               OpName %val "val"
               OpName %conv_arr_4_S "conv_arr_4_S"
               OpName %val_0 "val"
               OpName %arr "arr"
               OpName %i "i"
               OpName %var_for_index "var_for_index"
               OpName %load_u_2_m "load_u_2_m"
               OpName %f "f"
               OpDecorate %u_block Block
               OpMemberDecorate %u_block 0 Offset 0
               OpMemberDecorate %S_std140 0 Offset 0
               OpMemberDecorate %S_std140 1 Offset 8
               OpMemberDecorate %S_std140 2 Offset 16
               OpMemberDecorate %S_std140 3 Offset 24
               OpMemberDecorate %S_std140 4 Offset 32
               OpMemberDecorate %S_std140 5 Offset 40
               OpDecorate %_arr_S_std140_uint_4 ArrayStride 48
               OpDecorate %u NonWritable
               OpDecorate %u DescriptorSet 0
               OpDecorate %u Binding 0
               OpDecorate %s_block Block
               OpMemberDecorate %s_block 0 Offset 0
               OpMemberDecorate %S 0 Offset 0
               OpMemberDecorate %S 1 Offset 8
               OpMemberDecorate %S 1 ColMajor
               OpMemberDecorate %S 1 MatrixStride 8
               OpMemberDecorate %S 2 Offset 40
               OpDecorate %_arr_S_uint_4 ArrayStride 48
               OpDecorate %s DescriptorSet 0
               OpDecorate %s Binding 1
        %int = OpTypeInt 32 1
      %float = OpTypeFloat 32
    %v2float = OpTypeVector %float 2
   %S_std140 = OpTypeStruct %int %v2float %v2float %v2float %v2float %int
       %uint = OpTypeInt 32 0
     %uint_4 = OpConstant %uint 4
%_arr_S_std140_uint_4 = OpTypeArray %S_std140 %uint_4
    %u_block = OpTypeStruct %_arr_S_std140_uint_4
%_ptr_Uniform_u_block = OpTypePointer Uniform %u_block
          %u = OpVariable %_ptr_Uniform_u_block Uniform
%mat4v2float = OpTypeMatrix %v2float 4
          %S = OpTypeStruct %int %mat4v2float %int
%_arr_S_uint_4 = OpTypeArray %S %uint_4
    %s_block = OpTypeStruct %_arr_S_uint_4
%_ptr_StorageBuffer_s_block = OpTypePointer StorageBuffer %s_block
          %s = OpVariable %_ptr_StorageBuffer_s_block StorageBuffer
         %17 = OpTypeFunction %S %S_std140
         %29 = OpTypeFunction %_arr_S_uint_4 %_arr_S_std140_uint_4
%_ptr_Function__arr_S_uint_4 = OpTypePointer Function %_arr_S_uint_4
         %35 = OpConstantNull %_arr_S_uint_4
%_ptr_Function_uint = OpTypePointer Function %uint
         %38 = OpConstantNull %uint
       %bool = OpTypeBool
%_ptr_Function__arr_S_std140_uint_4 = OpTypePointer Function %_arr_S_std140_uint_4
         %51 = OpConstantNull %_arr_S_std140_uint_4
%_ptr_Function_S = OpTypePointer Function %S
%_ptr_Function_S_std140 = OpTypePointer Function %S_std140
     %uint_1 = OpConstant %uint 1
         %64 = OpTypeFunction %mat4v2float
     %uint_0 = OpConstant %uint 0
     %uint_2 = OpConstant %uint 2
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
     %uint_3 = OpConstant %uint 3
       %void = OpTypeVoid
         %80 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_S_uint_4 = OpTypePointer StorageBuffer %_arr_S_uint_4
%_ptr_Uniform__arr_S_std140_uint_4 = OpTypePointer Uniform %_arr_S_std140_uint_4
      %int_1 = OpConstant %int 1
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
%_ptr_Uniform_S_std140 = OpTypePointer Uniform %S_std140
      %int_3 = OpConstant %int 3
%_ptr_StorageBuffer_mat4v2float = OpTypePointer StorageBuffer %mat4v2float
        %101 = OpConstantNull %int
%_ptr_StorageBuffer_v2float = OpTypePointer StorageBuffer %v2float
     %conv_S = OpFunction %S None %17
        %val = OpFunctionParameter %S_std140
         %20 = OpLabel
         %21 = OpCompositeExtract %int %val 0
         %22 = OpCompositeExtract %v2float %val 1
         %23 = OpCompositeExtract %v2float %val 2
         %24 = OpCompositeExtract %v2float %val 3
         %25 = OpCompositeExtract %v2float %val 4
         %26 = OpCompositeConstruct %mat4v2float %22 %23 %24 %25
         %27 = OpCompositeExtract %int %val 5
         %28 = OpCompositeConstruct %S %21 %26 %27
               OpReturnValue %28
               OpFunctionEnd
%conv_arr_4_S = OpFunction %_arr_S_uint_4 None %29
      %val_0 = OpFunctionParameter %_arr_S_std140_uint_4
         %32 = OpLabel
        %arr = OpVariable %_ptr_Function__arr_S_uint_4 Function %35
          %i = OpVariable %_ptr_Function_uint Function %38
%var_for_index = OpVariable %_ptr_Function__arr_S_std140_uint_4 Function %51
               OpBranch %39
         %39 = OpLabel
               OpLoopMerge %40 %41 None
               OpBranch %42
         %42 = OpLabel
         %44 = OpLoad %uint %i
         %45 = OpULessThan %bool %44 %uint_4
         %43 = OpLogicalNot %bool %45
               OpSelectionMerge %47 None
               OpBranchConditional %43 %48 %47
         %48 = OpLabel
               OpBranch %40
         %47 = OpLabel
               OpStore %var_for_index %val_0
         %52 = OpLoad %uint %i
         %54 = OpAccessChain %_ptr_Function_S %arr %52
         %56 = OpLoad %uint %i
         %58 = OpAccessChain %_ptr_Function_S_std140 %var_for_index %56
         %59 = OpLoad %S_std140 %58
         %55 = OpFunctionCall %S %conv_S %59
               OpStore %54 %55
               OpBranch %41
         %41 = OpLabel
         %60 = OpLoad %uint %i
         %62 = OpIAdd %uint %60 %uint_1
               OpStore %i %62
               OpBranch %39
         %40 = OpLabel
         %63 = OpLoad %_arr_S_uint_4 %arr
               OpReturnValue %63
               OpFunctionEnd
 %load_u_2_m = OpFunction %mat4v2float None %64
         %66 = OpLabel
         %70 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_1
         %71 = OpLoad %v2float %70
         %72 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_2
         %73 = OpLoad %v2float %72
         %75 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_3
         %76 = OpLoad %v2float %75
         %77 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_4
         %78 = OpLoad %v2float %77
         %79 = OpCompositeConstruct %mat4v2float %71 %73 %76 %78
               OpReturnValue %79
               OpFunctionEnd
          %f = OpFunction %void None %80
         %83 = OpLabel
         %85 = OpAccessChain %_ptr_StorageBuffer__arr_S_uint_4 %s %uint_0
         %88 = OpAccessChain %_ptr_Uniform__arr_S_std140_uint_4 %u %uint_0
         %89 = OpLoad %_arr_S_std140_uint_4 %88
         %86 = OpFunctionCall %_arr_S_uint_4 %conv_arr_4_S %89
               OpStore %85 %86
         %92 = OpAccessChain %_ptr_StorageBuffer_S %s %uint_0 %int_1
         %95 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %96 = OpLoad %S_std140 %95
         %93 = OpFunctionCall %S %conv_S %96
               OpStore %92 %93
         %99 = OpAccessChain %_ptr_StorageBuffer_mat4v2float %s %uint_0 %int_3 %uint_1
        %100 = OpFunctionCall %mat4v2float %load_u_2_m
               OpStore %99 %100
        %103 = OpAccessChain %_ptr_StorageBuffer_v2float %s %uint_0 %int_1 %uint_1 %101
        %104 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %38 %uint_2
        %105 = OpLoad %v2float %104
        %106 = OpVectorShuffle %v2float %105 %105 1 0
               OpStore %103 %106
               OpReturn
               OpFunctionEnd
