; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 101
; 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 %tint_symbol_1 0 "tint_symbol"
               OpName %tint_symbol_1 "tint_symbol_1"
               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_000ff3 "firstLeadingBit_000ff3"
               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 %tint_symbol_1 0 Offset 0
               OpDecorate %tint_symbol_1 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
       %uint = OpTypeInt 32 0
     %v4uint = OpTypeVector %uint 4
%tint_symbol_1 = OpTypeStruct %v4uint
%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
          %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 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_v4uint = OpTypePointer Output %v4uint
%vertex_main_loc0_Output = OpVariable %_ptr_Output_v4uint Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %15 = OpTypeFunction %v4uint
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
     %uint_1 = OpConstant %uint 1
         %19 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%uint_4294901760 = OpConstant %uint 4294901760
         %23 = OpConstantComposite %v4uint %uint_4294901760 %uint_4294901760 %uint_4294901760 %uint_4294901760
         %26 = OpConstantNull %v4uint
       %bool = OpTypeBool
     %v4bool = OpTypeVector %bool 4
    %uint_16 = OpConstant %uint 16
         %30 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
 %uint_65280 = OpConstant %uint 65280
         %34 = OpConstantComposite %v4uint %uint_65280 %uint_65280 %uint_65280 %uint_65280
     %uint_8 = OpConstant %uint 8
         %38 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
   %uint_240 = OpConstant %uint 240
         %42 = OpConstantComposite %v4uint %uint_240 %uint_240 %uint_240 %uint_240
     %uint_4 = OpConstant %uint 4
         %46 = OpConstantComposite %v4uint %uint_4 %uint_4 %uint_4 %uint_4
    %uint_12 = OpConstant %uint 12
         %50 = OpConstantComposite %v4uint %uint_12 %uint_12 %uint_12 %uint_12
     %uint_2 = OpConstant %uint 2
         %54 = OpConstantComposite %v4uint %uint_2 %uint_2 %uint_2 %uint_2
%uint_4294967295 = OpConstant %uint 4294967295
         %66 = OpConstantComposite %v4uint %uint_4294967295 %uint_4294967295 %uint_4294967295 %uint_4294967295
       %void = OpTypeVoid
         %72 = OpTypeFunction %void
%_ptr_StorageBuffer_v4uint = OpTypePointer StorageBuffer %v4uint
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4uint
         %84 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %88 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %91 = OpConstantNull %v4float
    %float_1 = OpConstant %float 1
%firstLeadingBit_000ff3 = OpFunction %v4uint None %15
         %16 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v4uint Function
        %res = OpVariable %_ptr_Function_v4uint Function
               OpStore %arg_0 %19
         %21 = OpLoad %v4uint %arg_0 None
         %22 = OpBitwiseAnd %v4uint %21 %23
         %25 = OpIEqual %v4bool %22 %26
         %29 = OpSelect %v4uint %25 %26 %30
         %32 = OpShiftRightLogical %v4uint %21 %29
         %33 = OpBitwiseAnd %v4uint %32 %34
         %36 = OpIEqual %v4bool %33 %26
         %37 = OpSelect %v4uint %36 %26 %38
         %40 = OpShiftRightLogical %v4uint %32 %37
         %41 = OpBitwiseAnd %v4uint %40 %42
         %44 = OpIEqual %v4bool %41 %26
         %45 = OpSelect %v4uint %44 %26 %46
         %48 = OpShiftRightLogical %v4uint %40 %45
         %49 = OpBitwiseAnd %v4uint %48 %50
         %52 = OpIEqual %v4bool %49 %26
         %53 = OpSelect %v4uint %52 %26 %54
         %56 = OpShiftRightLogical %v4uint %48 %53
         %57 = OpBitwiseAnd %v4uint %56 %54
         %58 = OpIEqual %v4bool %57 %26
         %59 = OpSelect %v4uint %58 %26 %19
         %60 = OpBitwiseOr %v4uint %53 %59
         %61 = OpBitwiseOr %v4uint %45 %60
         %62 = OpBitwiseOr %v4uint %37 %61
         %63 = OpBitwiseOr %v4uint %29 %62
         %64 = OpIEqual %v4bool %56 %26
         %65 = OpSelect %v4uint %64 %66 %63
               OpStore %res %65
         %69 = OpLoad %v4uint %res None
               OpReturnValue %69
               OpFunctionEnd
%fragment_main = OpFunction %void None %72
         %73 = OpLabel
         %74 = OpFunctionCall %v4uint %firstLeadingBit_000ff3
         %75 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %75 %74 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %72
         %79 = OpLabel
         %80 = OpFunctionCall %v4uint %firstLeadingBit_000ff3
         %81 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %81 %80 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %84
         %85 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %88
         %89 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %89 %91 None
         %92 = OpAccessChain %_ptr_Function_v4uint %out %uint_1
         %93 = OpFunctionCall %v4uint %firstLeadingBit_000ff3
               OpStore %92 %93 None
         %94 = OpLoad %VertexOutput %out None
               OpReturnValue %94
               OpFunctionEnd
%vertex_main = OpFunction %void None %72
         %96 = OpLabel
         %97 = OpFunctionCall %VertexOutput %vertex_main_inner
         %98 = OpCompositeExtract %v4float %97 0
               OpStore %vertex_main_position_Output %98 None
         %99 = OpCompositeExtract %v4uint %97 1
               OpStore %vertex_main_loc0_Output %99 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
