; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %tint_pointsize "tint_pointsize"
               OpName %arg_0 "arg_0"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %textureStore_60975f "textureStore_60975f"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %tint_pointsize BuiltIn PointSize
               OpDecorate %arg_0 NonReadable
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %tint_symbol_1 BuiltIn Position
      %float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
          %4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
          %7 = OpTypeImage %float 2D 0 1 0 2 Rgba8
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
      %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
         %11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
       %void = OpTypeVoid
         %12 = OpTypeFunction %void
        %int = OpTypeInt 32 1
      %v3int = OpTypeVector %int 3
      %int_0 = OpConstant %int 0
      %int_1 = OpConstant %int 1
         %22 = OpConstantComposite %v3int %int_0 %int_0 %int_1
         %23 = OpTypeFunction %void %v4float
    %float_1 = OpConstant %float 1
%textureStore_60975f = OpFunction %void None %12
         %15 = OpLabel
         %17 = OpLoad %7 %arg_0
               OpImageWrite %17 %22 %11
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %23
%tint_symbol = OpFunctionParameter %v4float
         %26 = OpLabel
               OpStore %tint_symbol_1 %tint_symbol
               OpReturn
               OpFunctionEnd
%vertex_main = OpFunction %void None %12
         %28 = OpLabel
               OpStore %tint_pointsize %float_1
         %30 = OpFunctionCall %void %textureStore_60975f
         %31 = OpFunctionCall %void %tint_symbol_2 %11
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %12
         %33 = OpLabel
         %34 = OpFunctionCall %void %textureStore_60975f
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %12
         %36 = OpLabel
         %37 = OpFunctionCall %void %textureStore_60975f
               OpReturn
               OpFunctionEnd
