; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 72
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %main "main" %x_1_1_1 %x_2_1_1 %x_3_1_1 %x_4_1_1 %x_5_1_1 %x_6_1_1 %x_8_1_1 %vertex_point_size
               OpName %x_1_1_1 "x_1_1_1"
               OpName %x_2_1_1 "x_2_1_1"
               OpName %x_3_1_1 "x_3_1_1"
               OpName %x_4_1_1 "x_4_1_1"
               OpName %x_5_1_1 "x_5_1_1"
               OpName %x_6_1_1 "x_6_1_1"
               OpName %x_8_1_1 "x_8_1_1"
               OpName %vertex_point_size "vertex_point_size"
               OpName %x_1 "x_1"
               OpName %x_2 "x_2"
               OpName %x_3 "x_3"
               OpName %x_4 "x_4"
               OpName %x_5 "x_5"
               OpName %x_6 "x_6"
               OpName %x_8 "x_8"
               OpName %main_1 "main_1"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_1_1"
               OpMemberName %main_out 1 "x_2_1"
               OpMemberName %main_out 2 "x_3_1"
               OpMemberName %main_out 3 "x_4_1"
               OpMemberName %main_out 4 "x_5_1"
               OpMemberName %main_out 5 "x_6_1"
               OpMemberName %main_out 6 "x_8_1"
               OpName %main_inner "main_inner"
               OpName %main "main"
               OpDecorate %x_1_1_1 Location 1
               OpDecorate %x_1_1_1 Flat
               OpDecorate %x_2_1_1 Location 2
               OpDecorate %x_2_1_1 Flat
               OpDecorate %x_3_1_1 Location 3
               OpDecorate %x_3_1_1 Flat
               OpDecorate %x_4_1_1 Location 4
               OpDecorate %x_4_1_1 Flat
               OpDecorate %x_5_1_1 Location 5
               OpDecorate %x_5_1_1 Flat
               OpDecorate %x_6_1_1 Location 6
               OpDecorate %x_6_1_1 Flat
               OpDecorate %x_8_1_1 BuiltIn Position
               OpDecorate %vertex_point_size BuiltIn PointSize
               OpMemberDecorate %main_out 0 Offset 0
               OpMemberDecorate %main_out 1 Offset 8
               OpMemberDecorate %main_out 2 Offset 16
               OpMemberDecorate %main_out 3 Offset 24
               OpMemberDecorate %main_out 4 Offset 32
               OpMemberDecorate %main_out 5 Offset 40
               OpMemberDecorate %main_out 6 Offset 48
       %uint = OpTypeInt 32 0
%_ptr_Output_uint = OpTypePointer Output %uint
          %4 = OpConstantNull %uint
    %x_1_1_1 = OpVariable %_ptr_Output_uint Output %4
     %v2uint = OpTypeVector %uint 2
%_ptr_Output_v2uint = OpTypePointer Output %v2uint
          %8 = OpConstantNull %v2uint
    %x_2_1_1 = OpVariable %_ptr_Output_v2uint Output %8
        %int = OpTypeInt 32 1
%_ptr_Output_int = OpTypePointer Output %int
         %12 = OpConstantNull %int
    %x_3_1_1 = OpVariable %_ptr_Output_int Output %12
      %v2int = OpTypeVector %int 2
%_ptr_Output_v2int = OpTypePointer Output %v2int
         %16 = OpConstantNull %v2int
    %x_4_1_1 = OpVariable %_ptr_Output_v2int Output %16
      %float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
         %20 = OpConstantNull %float
    %x_5_1_1 = OpVariable %_ptr_Output_float Output %20
    %v2float = OpTypeVector %float 2
%_ptr_Output_v2float = OpTypePointer Output %v2float
         %24 = OpConstantNull %v2float
    %x_6_1_1 = OpVariable %_ptr_Output_v2float Output %24
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
         %28 = OpConstantNull %v4float
    %x_8_1_1 = OpVariable %_ptr_Output_v4float Output %28
%vertex_point_size = OpVariable %_ptr_Output_float Output %20
%_ptr_Private_uint = OpTypePointer Private %uint
        %x_1 = OpVariable %_ptr_Private_uint Private %4
%_ptr_Private_v2uint = OpTypePointer Private %v2uint
        %x_2 = OpVariable %_ptr_Private_v2uint Private %8
%_ptr_Private_int = OpTypePointer Private %int
        %x_3 = OpVariable %_ptr_Private_int Private %12
%_ptr_Private_v2int = OpTypePointer Private %v2int
        %x_4 = OpVariable %_ptr_Private_v2int Private %16
%_ptr_Private_float = OpTypePointer Private %float
        %x_5 = OpVariable %_ptr_Private_float Private %20
%_ptr_Private_v2float = OpTypePointer Private %v2float
        %x_6 = OpVariable %_ptr_Private_v2float Private %24
%_ptr_Private_v4float = OpTypePointer Private %v4float
        %x_8 = OpVariable %_ptr_Private_v4float Private %28
       %void = OpTypeVoid
         %44 = OpTypeFunction %void
   %main_out = OpTypeStruct %uint %v2uint %int %v2int %float %v2float %v4float
         %48 = OpTypeFunction %main_out
    %float_1 = OpConstant %float 1
     %main_1 = OpFunction %void None %44
         %47 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %48
         %51 = OpLabel
         %52 = OpFunctionCall %void %main_1
         %53 = OpLoad %uint %x_1
         %54 = OpLoad %v2uint %x_2
         %55 = OpLoad %int %x_3
         %56 = OpLoad %v2int %x_4
         %57 = OpLoad %float %x_5
         %58 = OpLoad %v2float %x_6
         %59 = OpLoad %v4float %x_8
         %60 = OpCompositeConstruct %main_out %53 %54 %55 %56 %57 %58 %59
               OpReturnValue %60
               OpFunctionEnd
       %main = OpFunction %void None %44
         %62 = OpLabel
         %63 = OpFunctionCall %main_out %main_inner
         %64 = OpCompositeExtract %uint %63 0
               OpStore %x_1_1_1 %64
         %65 = OpCompositeExtract %v2uint %63 1
               OpStore %x_2_1_1 %65
         %66 = OpCompositeExtract %int %63 2
               OpStore %x_3_1_1 %66
         %67 = OpCompositeExtract %v2int %63 3
               OpStore %x_4_1_1 %67
         %68 = OpCompositeExtract %float %63 4
               OpStore %x_5_1_1 %68
         %69 = OpCompositeExtract %v2float %63 5
               OpStore %x_6_1_1 %69
         %70 = OpCompositeExtract %v4float %63 6
               OpStore %x_8_1_1 %70
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
