; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 106
; 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 %countTrailingZeros_1dc84a "countTrailingZeros_1dc84a"
               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
      %v4int = OpTypeVector %int 4
%prevent_dce_block = OpTypeStruct %v4int
%_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_v4int = OpTypePointer Output %v4int
%vertex_main_loc0_Output = OpVariable %_ptr_Output_v4int Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %15 = OpTypeFunction %v4int
%_ptr_Function_v4int = OpTypePointer Function %v4int
      %int_1 = OpConstant %int 1
         %19 = OpConstantComposite %v4int %int_1 %int_1 %int_1 %int_1
       %uint = OpTypeInt 32 0
     %v4uint = OpTypeVector %uint 4
 %uint_65535 = OpConstant %uint 65535
         %26 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535
         %29 = OpConstantNull %v4uint
       %bool = OpTypeBool
     %v4bool = OpTypeVector %bool 4
    %uint_16 = OpConstant %uint 16
         %33 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
   %uint_255 = OpConstant %uint 255
         %37 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255
     %uint_8 = OpConstant %uint 8
         %41 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
    %uint_15 = OpConstant %uint 15
         %45 = OpConstantComposite %v4uint %uint_15 %uint_15 %uint_15 %uint_15
     %uint_4 = OpConstant %uint 4
         %49 = OpConstantComposite %v4uint %uint_4 %uint_4 %uint_4 %uint_4
     %uint_3 = OpConstant %uint 3
         %53 = OpConstantComposite %v4uint %uint_3 %uint_3 %uint_3 %uint_3
     %uint_2 = OpConstant %uint 2
         %57 = OpConstantComposite %v4uint %uint_2 %uint_2 %uint_2 %uint_2
     %uint_1 = OpConstant %uint 1
         %61 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
       %void = OpTypeVoid
         %77 = OpTypeFunction %void
%_ptr_StorageBuffer_v4int = OpTypePointer StorageBuffer %v4int
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4int
         %89 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %93 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %96 = OpConstantNull %v4float
    %float_1 = OpConstant %float 1
%countTrailingZeros_1dc84a = OpFunction %v4int None %15
         %16 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v4int Function
        %res = OpVariable %_ptr_Function_v4int Function
               OpStore %arg_0 %19
         %21 = OpLoad %v4int %arg_0 None
         %24 = OpBitcast %v4uint %21
         %25 = OpBitwiseAnd %v4uint %24 %26
         %28 = OpIEqual %v4bool %25 %29
         %32 = OpSelect %v4uint %28 %33 %29
         %35 = OpShiftRightLogical %v4uint %24 %32
         %36 = OpBitwiseAnd %v4uint %35 %37
         %39 = OpIEqual %v4bool %36 %29
         %40 = OpSelect %v4uint %39 %41 %29
         %43 = OpShiftRightLogical %v4uint %35 %40
         %44 = OpBitwiseAnd %v4uint %43 %45
         %47 = OpIEqual %v4bool %44 %29
         %48 = OpSelect %v4uint %47 %49 %29
         %51 = OpShiftRightLogical %v4uint %43 %48
         %52 = OpBitwiseAnd %v4uint %51 %53
         %55 = OpIEqual %v4bool %52 %29
         %56 = OpSelect %v4uint %55 %57 %29
         %59 = OpShiftRightLogical %v4uint %51 %56
         %60 = OpBitwiseAnd %v4uint %59 %61
         %63 = OpIEqual %v4bool %60 %29
         %64 = OpSelect %v4uint %63 %61 %29
         %65 = OpIEqual %v4bool %59 %29
         %66 = OpSelect %v4uint %65 %61 %29
         %67 = OpBitwiseOr %v4uint %56 %64
         %68 = OpBitwiseOr %v4uint %48 %67
         %69 = OpBitwiseOr %v4uint %40 %68
         %70 = OpBitwiseOr %v4uint %32 %69
         %71 = OpIAdd %v4uint %70 %66
         %72 = OpBitcast %v4int %71
               OpStore %res %72
         %74 = OpLoad %v4int %res None
               OpReturnValue %74
               OpFunctionEnd
%fragment_main = OpFunction %void None %77
         %78 = OpLabel
         %79 = OpFunctionCall %v4int %countTrailingZeros_1dc84a
         %80 = OpAccessChain %_ptr_StorageBuffer_v4int %1 %uint_0
               OpStore %80 %79 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %77
         %84 = OpLabel
         %85 = OpFunctionCall %v4int %countTrailingZeros_1dc84a
         %86 = OpAccessChain %_ptr_StorageBuffer_v4int %1 %uint_0
               OpStore %86 %85 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %89
         %90 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %93
         %94 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %94 %96 None
         %97 = OpAccessChain %_ptr_Function_v4int %out %uint_1
         %98 = OpFunctionCall %v4int %countTrailingZeros_1dc84a
               OpStore %97 %98 None
         %99 = OpLoad %VertexOutput %out None
               OpReturnValue %99
               OpFunctionEnd
%vertex_main = OpFunction %void None %77
        %101 = OpLabel
        %102 = OpFunctionCall %VertexOutput %vertex_main_inner
        %103 = OpCompositeExtract %v4float %102 0
               OpStore %vertex_main_position_Output %103 None
        %104 = OpCompositeExtract %v4int %102 1
               OpStore %vertex_main_loc0_Output %104 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
