; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 107
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce_block "prevent_dce_block"
               OpName %vertex_main_position_Output "vertex_main_position_Output"
               OpName %vertex_main_loc0_Output "vertex_main_loc0_Output"
               OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
               OpName %firstTrailingBit_50c072 "firstTrailingBit_50c072"
               OpName %arg_0 "arg_0"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpName %vertex_main_inner "vertex_main_inner"
               OpMemberName %VertexOutput 0 "pos"
               OpMemberName %VertexOutput 1 "prevent_dce"
               OpName %VertexOutput "VertexOutput"
               OpName %out "out"
               OpName %vertex_main "vertex_main"
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce_block Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
               OpDecorate %vertex_main_position_Output BuiltIn Position
               OpDecorate %vertex_main_loc0_Output Location 0
               OpDecorate %vertex_main_loc0_Output Flat
               OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
               OpMemberDecorate %VertexOutput 0 Offset 0
               OpMemberDecorate %VertexOutput 1 Offset 16
        %int = OpTypeInt 32 1
      %v2int = OpTypeVector %int 2
%prevent_dce_block = OpTypeStruct %v2int
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
%_ptr_Output_v2int = OpTypePointer Output %v2int
%vertex_main_loc0_Output = OpVariable %_ptr_Output_v2int Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %15 = OpTypeFunction %v2int
%_ptr_Function_v2int = OpTypePointer Function %v2int
      %int_1 = OpConstant %int 1
         %19 = OpConstantComposite %v2int %int_1 %int_1
       %uint = OpTypeInt 32 0
     %v2uint = OpTypeVector %uint 2
 %uint_65535 = OpConstant %uint 65535
         %26 = OpConstantComposite %v2uint %uint_65535 %uint_65535
         %29 = OpConstantNull %v2uint
       %bool = OpTypeBool
     %v2bool = OpTypeVector %bool 2
    %uint_16 = OpConstant %uint 16
         %33 = OpConstantComposite %v2uint %uint_16 %uint_16
   %uint_255 = OpConstant %uint 255
         %37 = OpConstantComposite %v2uint %uint_255 %uint_255
     %uint_8 = OpConstant %uint 8
         %41 = OpConstantComposite %v2uint %uint_8 %uint_8
    %uint_15 = OpConstant %uint 15
         %45 = OpConstantComposite %v2uint %uint_15 %uint_15
     %uint_4 = OpConstant %uint 4
         %49 = OpConstantComposite %v2uint %uint_4 %uint_4
     %uint_3 = OpConstant %uint 3
         %53 = OpConstantComposite %v2uint %uint_3 %uint_3
     %uint_2 = OpConstant %uint 2
         %57 = OpConstantComposite %v2uint %uint_2 %uint_2
     %uint_1 = OpConstant %uint 1
         %61 = OpConstantComposite %v2uint %uint_1 %uint_1
%uint_4294967295 = OpConstant %uint 4294967295
         %71 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
       %void = OpTypeVoid
         %78 = OpTypeFunction %void
%_ptr_StorageBuffer_v2int = OpTypePointer StorageBuffer %v2int
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v2int
         %90 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %94 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %97 = OpConstantNull %v4float
    %float_1 = OpConstant %float 1
%firstTrailingBit_50c072 = OpFunction %v2int None %15
         %16 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v2int Function
        %res = OpVariable %_ptr_Function_v2int Function
               OpStore %arg_0 %19
         %21 = OpLoad %v2int %arg_0 None
         %24 = OpBitcast %v2uint %21
         %25 = OpBitwiseAnd %v2uint %24 %26
         %28 = OpIEqual %v2bool %25 %29
         %32 = OpSelect %v2uint %28 %33 %29
         %35 = OpShiftRightLogical %v2uint %24 %32
         %36 = OpBitwiseAnd %v2uint %35 %37
         %39 = OpIEqual %v2bool %36 %29
         %40 = OpSelect %v2uint %39 %41 %29
         %43 = OpShiftRightLogical %v2uint %35 %40
         %44 = OpBitwiseAnd %v2uint %43 %45
         %47 = OpIEqual %v2bool %44 %29
         %48 = OpSelect %v2uint %47 %49 %29
         %51 = OpShiftRightLogical %v2uint %43 %48
         %52 = OpBitwiseAnd %v2uint %51 %53
         %55 = OpIEqual %v2bool %52 %29
         %56 = OpSelect %v2uint %55 %57 %29
         %59 = OpShiftRightLogical %v2uint %51 %56
         %60 = OpBitwiseAnd %v2uint %59 %61
         %63 = OpIEqual %v2bool %60 %29
         %64 = OpSelect %v2uint %63 %61 %29
         %65 = OpBitwiseOr %v2uint %56 %64
         %66 = OpBitwiseOr %v2uint %48 %65
         %67 = OpBitwiseOr %v2uint %40 %66
         %68 = OpBitwiseOr %v2uint %32 %67
         %69 = OpIEqual %v2bool %59 %29
         %70 = OpSelect %v2uint %69 %71 %68
         %73 = OpBitcast %v2int %70
               OpStore %res %73
         %75 = OpLoad %v2int %res None
               OpReturnValue %75
               OpFunctionEnd
%fragment_main = OpFunction %void None %78
         %79 = OpLabel
         %80 = OpFunctionCall %v2int %firstTrailingBit_50c072
         %81 = OpAccessChain %_ptr_StorageBuffer_v2int %1 %uint_0
               OpStore %81 %80 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %78
         %85 = OpLabel
         %86 = OpFunctionCall %v2int %firstTrailingBit_50c072
         %87 = OpAccessChain %_ptr_StorageBuffer_v2int %1 %uint_0
               OpStore %87 %86 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %90
         %91 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %94
         %95 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %95 %97 None
         %98 = OpAccessChain %_ptr_Function_v2int %out %uint_1
         %99 = OpFunctionCall %v2int %firstTrailingBit_50c072
               OpStore %98 %99 None
        %100 = OpLoad %VertexOutput %out None
               OpReturnValue %100
               OpFunctionEnd
%vertex_main = OpFunction %void None %78
        %102 = OpLabel
        %103 = OpFunctionCall %VertexOutput %vertex_main_inner
        %104 = OpCompositeExtract %v4float %103 0
               OpStore %vertex_main_position_Output %104 None
        %105 = OpCompositeExtract %v2int %103 1
               OpStore %vertex_main_loc0_Output %105 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
