; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 59
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %ret_i32 "ret_i32"
               OpName %ret_u32 "ret_u32"
               OpName %ret_f32 "ret_f32"
               OpName %MyStruct "MyStruct"
               OpMemberName %MyStruct 0 "f1"
               OpName %ret_MyStruct "ret_MyStruct"
               OpName %ret_MyArray "ret_MyArray"
               OpName %let_decls "let_decls"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %main "main"
               OpDecorate %tint_symbol_1 Location 0
               OpMemberDecorate %MyStruct 0 Offset 0
               OpDecorate %_arr_float_uint_10 ArrayStride 4
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
        %int = OpTypeInt 32 1
          %6 = OpTypeFunction %int
      %int_1 = OpConstant %int 1
       %uint = OpTypeInt 32 0
         %11 = OpTypeFunction %uint
     %uint_1 = OpConstant %uint 1
         %16 = OpTypeFunction %float
    %float_1 = OpConstant %float 1
   %MyStruct = OpTypeStruct %float
         %20 = OpTypeFunction %MyStruct
         %24 = OpConstantNull %MyStruct
    %uint_10 = OpConstant %uint 10
%_arr_float_uint_10 = OpTypeArray %float %uint_10
         %25 = OpTypeFunction %_arr_float_uint_10
         %30 = OpConstantNull %_arr_float_uint_10
       %void = OpTypeVoid
         %31 = OpTypeFunction %void
      %v3int = OpTypeVector %int 3
         %36 = OpConstantComposite %v3int %int_1 %int_1 %int_1
     %v3uint = OpTypeVector %uint 3
         %38 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
    %v3float = OpTypeVector %float 3
         %40 = OpConstantComposite %v3float %float_1 %float_1 %float_1
%mat3v3float = OpTypeMatrix %v3float 3
         %43 = OpConstantComposite %MyStruct %float_1
         %50 = OpTypeFunction %void %v4float
    %float_0 = OpConstant %float 0
         %58 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
    %ret_i32 = OpFunction %int None %6
          %9 = OpLabel
               OpReturnValue %int_1
               OpFunctionEnd
    %ret_u32 = OpFunction %uint None %11
         %14 = OpLabel
               OpReturnValue %uint_1
               OpFunctionEnd
    %ret_f32 = OpFunction %float None %16
         %18 = OpLabel
               OpReturnValue %float_1
               OpFunctionEnd
%ret_MyStruct = OpFunction %MyStruct None %20
         %23 = OpLabel
               OpReturnValue %24
               OpFunctionEnd
%ret_MyArray = OpFunction %_arr_float_uint_10 None %25
         %29 = OpLabel
               OpReturnValue %30
               OpFunctionEnd
  %let_decls = OpFunction %void None %31
         %34 = OpLabel
         %42 = OpCompositeConstruct %mat3v3float %40 %40 %40
         %44 = OpFunctionCall %int %ret_i32
         %45 = OpFunctionCall %uint %ret_u32
         %46 = OpFunctionCall %float %ret_f32
         %47 = OpFunctionCall %MyStruct %ret_MyStruct
         %48 = OpFunctionCall %MyStruct %ret_MyStruct
         %49 = OpFunctionCall %_arr_float_uint_10 %ret_MyArray
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %50
%tint_symbol = OpFunctionParameter %v4float
         %53 = OpLabel
               OpStore %tint_symbol_1 %tint_symbol
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %31
         %55 = OpLabel
         %56 = OpFunctionCall %void %tint_symbol_2 %58
               OpReturn
               OpFunctionEnd
