; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 36
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %value "value"
               OpName %vertex_point_size "vertex_point_size"
               OpName %SB_RO "SB_RO"
               OpMemberName %SB_RO 0 "arg_0"
               OpName %sb_ro "sb_ro"
               OpName %arrayLength_cfca0a "arrayLength_cfca0a"
               OpName %res "res"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %value BuiltIn Position
               OpDecorate %vertex_point_size BuiltIn PointSize
               OpDecorate %SB_RO Block
               OpMemberDecorate %SB_RO 0 Offset 0
               OpDecorate %_runtimearr_uint ArrayStride 4
               OpDecorate %sb_ro NonWritable
               OpDecorate %sb_ro DescriptorSet 0
               OpDecorate %sb_ro Binding 1
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
       %uint = OpTypeInt 32 0
%_runtimearr_uint = OpTypeRuntimeArray %uint
      %SB_RO = OpTypeStruct %_runtimearr_uint
%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO
      %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer
       %void = OpTypeVoid
         %14 = OpTypeFunction %void
%_ptr_Function_uint = OpTypePointer Function %uint
         %21 = OpConstantNull %uint
         %22 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%arrayLength_cfca0a = OpFunction %void None %14
         %17 = OpLabel
        %res = OpVariable %_ptr_Function_uint Function %21
         %18 = OpArrayLength %uint %sb_ro 0
               OpStore %res %18
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %22
         %24 = OpLabel
         %25 = OpFunctionCall %void %arrayLength_cfca0a
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %14
         %27 = OpLabel
         %28 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %28
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %14
         %31 = OpLabel
         %32 = OpFunctionCall %void %arrayLength_cfca0a
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %14
         %34 = OpLabel
         %35 = OpFunctionCall %void %arrayLength_cfca0a
               OpReturn
               OpFunctionEnd
