; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 39
; Schema: 0
               OpCapability Shader
               OpCapability ImageQuery
               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 %arg_0 "arg_0"
               OpName %textureNumLayers_ff5e89 "textureNumLayers_ff5e89"
               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 %arg_0 NonReadable
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
      %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
         %11 = OpTypeImage %uint 2D 0 1 0 2 Rgba8ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
      %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
       %void = OpTypeVoid
         %13 = OpTypeFunction %void
        %int = OpTypeInt 32 1
      %v3int = OpTypeVector %int 3
%_ptr_Function_int = OpTypePointer Function %int
         %24 = OpConstantNull %int
         %25 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%textureNumLayers_ff5e89 = OpFunction %void None %13
         %16 = OpLabel
        %res = OpVariable %_ptr_Function_int Function %24
         %21 = OpLoad %11 %arg_0
         %19 = OpImageQuerySize %v3int %21
         %17 = OpCompositeExtract %int %19 2
               OpStore %res %17
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %25
         %27 = OpLabel
         %28 = OpFunctionCall %void %textureNumLayers_ff5e89
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %13
         %30 = OpLabel
         %31 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %31
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %13
         %34 = OpLabel
         %35 = OpFunctionCall %void %textureNumLayers_ff5e89
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %13
         %37 = OpLabel
         %38 = OpFunctionCall %void %textureNumLayers_ff5e89
               OpReturn
               OpFunctionEnd
