; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 112
; 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 %firstLeadingBit_a622c2 "firstLeadingBit_a622c2"
               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_2147483648 = OpConstant %uint 2147483648
         %27 = OpConstantComposite %v2uint %uint_2147483648 %uint_2147483648
       %bool = OpTypeBool
     %v2bool = OpTypeVector %bool 2
%uint_4294901760 = OpConstant %uint 4294901760
         %33 = OpConstantComposite %v2uint %uint_4294901760 %uint_4294901760
         %36 = OpConstantNull %v2uint
    %uint_16 = OpConstant %uint 16
         %38 = OpConstantComposite %v2uint %uint_16 %uint_16
 %uint_65280 = OpConstant %uint 65280
         %42 = OpConstantComposite %v2uint %uint_65280 %uint_65280
     %uint_8 = OpConstant %uint 8
         %46 = OpConstantComposite %v2uint %uint_8 %uint_8
   %uint_240 = OpConstant %uint 240
         %50 = OpConstantComposite %v2uint %uint_240 %uint_240
     %uint_4 = OpConstant %uint 4
         %54 = OpConstantComposite %v2uint %uint_4 %uint_4
    %uint_12 = OpConstant %uint 12
         %58 = OpConstantComposite %v2uint %uint_12 %uint_12
     %uint_2 = OpConstant %uint 2
         %62 = OpConstantComposite %v2uint %uint_2 %uint_2
     %uint_1 = OpConstant %uint 1
         %68 = OpConstantComposite %v2uint %uint_1 %uint_1
%uint_4294967295 = OpConstant %uint 4294967295
         %76 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
       %void = OpTypeVoid
         %83 = OpTypeFunction %void
%_ptr_StorageBuffer_v2int = OpTypePointer StorageBuffer %v2int
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v2int
         %95 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %99 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
        %102 = OpConstantNull %v4float
    %float_1 = OpConstant %float 1
%firstLeadingBit_a622c2 = 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 = OpNot %v2uint %24
         %26 = OpULessThan %v2bool %24 %27
         %31 = OpSelect %v2uint %26 %24 %25
         %32 = OpBitwiseAnd %v2uint %31 %33
         %35 = OpIEqual %v2bool %32 %36
         %37 = OpSelect %v2uint %35 %36 %38
         %40 = OpShiftRightLogical %v2uint %31 %37
         %41 = OpBitwiseAnd %v2uint %40 %42
         %44 = OpIEqual %v2bool %41 %36
         %45 = OpSelect %v2uint %44 %36 %46
         %48 = OpShiftRightLogical %v2uint %40 %45
         %49 = OpBitwiseAnd %v2uint %48 %50
         %52 = OpIEqual %v2bool %49 %36
         %53 = OpSelect %v2uint %52 %36 %54
         %56 = OpShiftRightLogical %v2uint %48 %53
         %57 = OpBitwiseAnd %v2uint %56 %58
         %60 = OpIEqual %v2bool %57 %36
         %61 = OpSelect %v2uint %60 %36 %62
         %64 = OpShiftRightLogical %v2uint %56 %61
         %65 = OpBitwiseAnd %v2uint %64 %62
         %66 = OpIEqual %v2bool %65 %36
         %67 = OpSelect %v2uint %66 %36 %68
         %70 = OpBitwiseOr %v2uint %61 %67
         %71 = OpBitwiseOr %v2uint %53 %70
         %72 = OpBitwiseOr %v2uint %45 %71
         %73 = OpBitwiseOr %v2uint %37 %72
         %74 = OpIEqual %v2bool %64 %36
         %75 = OpSelect %v2uint %74 %76 %73
         %78 = OpBitcast %v2int %75
               OpStore %res %78
         %80 = OpLoad %v2int %res None
               OpReturnValue %80
               OpFunctionEnd
%fragment_main = OpFunction %void None %83
         %84 = OpLabel
         %85 = OpFunctionCall %v2int %firstLeadingBit_a622c2
         %86 = OpAccessChain %_ptr_StorageBuffer_v2int %1 %uint_0
               OpStore %86 %85 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %83
         %90 = OpLabel
         %91 = OpFunctionCall %v2int %firstLeadingBit_a622c2
         %92 = OpAccessChain %_ptr_StorageBuffer_v2int %1 %uint_0
               OpStore %92 %91 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %95
         %96 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %99
        %100 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %100 %102 None
        %103 = OpAccessChain %_ptr_Function_v2int %out %uint_1
        %104 = OpFunctionCall %v2int %firstLeadingBit_a622c2
               OpStore %103 %104 None
        %105 = OpLoad %VertexOutput %out None
               OpReturnValue %105
               OpFunctionEnd
%vertex_main = OpFunction %void None %83
        %107 = OpLabel
        %108 = OpFunctionCall %VertexOutput %vertex_main_inner
        %109 = OpCompositeExtract %v4float %108 0
               OpStore %vertex_main_position_Output %109 None
        %110 = OpCompositeExtract %v2int %108 1
               OpStore %vertex_main_loc0_Output %110 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
