; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 104
; 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 %countLeadingZeros_7c38a6 "countLeadingZeros_7c38a6"
               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
       %bool = OpTypeBool
     %v3bool = OpTypeVector %bool 3
    %uint_16 = OpConstant %uint 16
         %31 = OpConstantComposite %v3uint %uint_16 %uint_16 %uint_16
         %33 = OpConstantNull %v3uint
%uint_16777215 = OpConstant %uint 16777215
         %36 = OpConstantComposite %v3uint %uint_16777215 %uint_16777215 %uint_16777215
     %uint_8 = OpConstant %uint 8
         %39 = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_8
%uint_268435455 = OpConstant %uint 268435455
         %43 = OpConstantComposite %v3uint %uint_268435455 %uint_268435455 %uint_268435455
     %uint_4 = OpConstant %uint 4
         %46 = OpConstantComposite %v3uint %uint_4 %uint_4 %uint_4
%uint_1073741823 = OpConstant %uint 1073741823
         %50 = OpConstantComposite %v3uint %uint_1073741823 %uint_1073741823 %uint_1073741823
     %uint_2 = OpConstant %uint 2
         %53 = OpConstantComposite %v3uint %uint_2 %uint_2 %uint_2
%uint_2147483647 = OpConstant %uint 2147483647
         %57 = OpConstantComposite %v3uint %uint_2147483647 %uint_2147483647 %uint_2147483647
     %uint_1 = OpConstant %uint 1
         %60 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
       %void = OpTypeVoid
         %75 = OpTypeFunction %void
%_ptr_StorageBuffer_v3int = OpTypePointer StorageBuffer %v3int
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v3int
         %87 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %91 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %94 = OpConstantNull %v4float
    %float_1 = OpConstant %float 1
%countLeadingZeros_7c38a6 = 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 = OpULessThanEqual %v3bool %24 %26
         %30 = OpSelect %v3uint %25 %31 %33
         %34 = OpShiftLeftLogical %v3uint %24 %30
         %35 = OpULessThanEqual %v3bool %34 %36
         %38 = OpSelect %v3uint %35 %39 %33
         %41 = OpShiftLeftLogical %v3uint %34 %38
         %42 = OpULessThanEqual %v3bool %41 %43
         %45 = OpSelect %v3uint %42 %46 %33
         %48 = OpShiftLeftLogical %v3uint %41 %45
         %49 = OpULessThanEqual %v3bool %48 %50
         %52 = OpSelect %v3uint %49 %53 %33
         %55 = OpShiftLeftLogical %v3uint %48 %52
         %56 = OpULessThanEqual %v3bool %55 %57
         %59 = OpSelect %v3uint %56 %60 %33
         %62 = OpIEqual %v3bool %55 %33
         %63 = OpSelect %v3uint %62 %60 %33
         %64 = OpBitwiseOr %v3uint %59 %63
         %65 = OpBitwiseOr %v3uint %52 %64
         %66 = OpBitwiseOr %v3uint %45 %65
         %67 = OpBitwiseOr %v3uint %38 %66
         %68 = OpBitwiseOr %v3uint %30 %67
         %69 = OpIAdd %v3uint %68 %63
         %70 = OpBitcast %v3int %69
               OpStore %res %70
         %72 = OpLoad %v3int %res None
               OpReturnValue %72
               OpFunctionEnd
%fragment_main = OpFunction %void None %75
         %76 = OpLabel
         %77 = OpFunctionCall %v3int %countLeadingZeros_7c38a6
         %78 = OpAccessChain %_ptr_StorageBuffer_v3int %1 %uint_0
               OpStore %78 %77 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %75
         %82 = OpLabel
         %83 = OpFunctionCall %v3int %countLeadingZeros_7c38a6
         %84 = OpAccessChain %_ptr_StorageBuffer_v3int %1 %uint_0
               OpStore %84 %83 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %87
         %88 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %91
         %92 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %92 %94 None
         %95 = OpAccessChain %_ptr_Function_v3int %out %uint_1
         %96 = OpFunctionCall %v3int %countLeadingZeros_7c38a6
               OpStore %95 %96 None
         %97 = OpLoad %VertexOutput %out None
               OpReturnValue %97
               OpFunctionEnd
%vertex_main = OpFunction %void None %75
         %99 = OpLabel
        %100 = OpFunctionCall %VertexOutput %vertex_main_inner
        %101 = OpCompositeExtract %v4float %100 0
               OpStore %vertex_main_position_Output %101 None
        %102 = OpCompositeExtract %v3int %100 1
               OpStore %vertex_main_loc0_Output %102 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
