; 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_7496d6 "firstTrailingBit_7496d6"
               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
      %v3int = OpTypeVector %int 3
%prevent_dce_block = OpTypeStruct %v3int
%_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_v3int = OpTypePointer Output %v3int
%vertex_main_loc0_Output = OpVariable %_ptr_Output_v3int Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %15 = OpTypeFunction %v3int
%_ptr_Function_v3int = OpTypePointer Function %v3int
      %int_1 = OpConstant %int 1
         %19 = OpConstantComposite %v3int %int_1 %int_1 %int_1
       %uint = OpTypeInt 32 0
     %v3uint = OpTypeVector %uint 3
 %uint_65535 = OpConstant %uint 65535
         %26 = OpConstantComposite %v3uint %uint_65535 %uint_65535 %uint_65535
         %29 = OpConstantNull %v3uint
       %bool = OpTypeBool
     %v3bool = OpTypeVector %bool 3
    %uint_16 = OpConstant %uint 16
         %33 = OpConstantComposite %v3uint %uint_16 %uint_16 %uint_16
   %uint_255 = OpConstant %uint 255
         %37 = OpConstantComposite %v3uint %uint_255 %uint_255 %uint_255
     %uint_8 = OpConstant %uint 8
         %41 = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_8
    %uint_15 = OpConstant %uint 15
         %45 = OpConstantComposite %v3uint %uint_15 %uint_15 %uint_15
     %uint_4 = OpConstant %uint 4
         %49 = OpConstantComposite %v3uint %uint_4 %uint_4 %uint_4
     %uint_3 = OpConstant %uint 3
         %53 = OpConstantComposite %v3uint %uint_3 %uint_3 %uint_3
     %uint_2 = OpConstant %uint 2
         %57 = OpConstantComposite %v3uint %uint_2 %uint_2 %uint_2
     %uint_1 = OpConstant %uint 1
         %61 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%uint_4294967295 = OpConstant %uint 4294967295
         %71 = OpConstantComposite %v3uint %uint_4294967295 %uint_4294967295 %uint_4294967295
       %void = OpTypeVoid
         %78 = OpTypeFunction %void
%_ptr_StorageBuffer_v3int = OpTypePointer StorageBuffer %v3int
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v3int
         %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_7496d6 = OpFunction %v3int None %15
         %16 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v3int Function
        %res = OpVariable %_ptr_Function_v3int Function
               OpStore %arg_0 %19
         %21 = OpLoad %v3int %arg_0 None
         %24 = OpBitcast %v3uint %21
         %25 = OpBitwiseAnd %v3uint %24 %26
         %28 = OpIEqual %v3bool %25 %29
         %32 = OpSelect %v3uint %28 %33 %29
         %35 = OpShiftRightLogical %v3uint %24 %32
         %36 = OpBitwiseAnd %v3uint %35 %37
         %39 = OpIEqual %v3bool %36 %29
         %40 = OpSelect %v3uint %39 %41 %29
         %43 = OpShiftRightLogical %v3uint %35 %40
         %44 = OpBitwiseAnd %v3uint %43 %45
         %47 = OpIEqual %v3bool %44 %29
         %48 = OpSelect %v3uint %47 %49 %29
         %51 = OpShiftRightLogical %v3uint %43 %48
         %52 = OpBitwiseAnd %v3uint %51 %53
         %55 = OpIEqual %v3bool %52 %29
         %56 = OpSelect %v3uint %55 %57 %29
         %59 = OpShiftRightLogical %v3uint %51 %56
         %60 = OpBitwiseAnd %v3uint %59 %61
         %63 = OpIEqual %v3bool %60 %29
         %64 = OpSelect %v3uint %63 %61 %29
         %65 = OpBitwiseOr %v3uint %56 %64
         %66 = OpBitwiseOr %v3uint %48 %65
         %67 = OpBitwiseOr %v3uint %40 %66
         %68 = OpBitwiseOr %v3uint %32 %67
         %69 = OpIEqual %v3bool %59 %29
         %70 = OpSelect %v3uint %69 %71 %68
         %73 = OpBitcast %v3int %70
               OpStore %res %73
         %75 = OpLoad %v3int %res None
               OpReturnValue %75
               OpFunctionEnd
%fragment_main = OpFunction %void None %78
         %79 = OpLabel
         %80 = OpFunctionCall %v3int %firstTrailingBit_7496d6
         %81 = OpAccessChain %_ptr_StorageBuffer_v3int %1 %uint_0
               OpStore %81 %80 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %78
         %85 = OpLabel
         %86 = OpFunctionCall %v3int %firstTrailingBit_7496d6
         %87 = OpAccessChain %_ptr_StorageBuffer_v3int %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_v3int %out %uint_1
         %99 = OpFunctionCall %v3int %firstTrailingBit_7496d6
               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 %v3int %103 1
               OpStore %vertex_main_loc0_Output %105 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
