; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 63
; 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 %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %textureSampleGrad_d65515 "textureSampleGrad_d65515"
               OpName %arg_2 "arg_2"
               OpName %arg_3 "arg_3"
               OpName %arg_4 "arg_4"
               OpName %arg_5 "arg_5"
               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 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_1 DescriptorSet 1
               OpDecorate %arg_1 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
         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
      %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
         %14 = OpTypeSampler
%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
      %arg_1 = OpVariable %_ptr_UniformConstant_14 UniformConstant
       %void = OpTypeVoid
         %15 = OpTypeFunction %void
    %v2float = OpTypeVector %float 2
    %float_1 = OpConstant %float 1
         %21 = OpConstantComposite %v2float %float_1 %float_1
%_ptr_Function_v2float = OpTypePointer Function %v2float
         %24 = OpConstantNull %v2float
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
%_ptr_Function_int = OpTypePointer Function %int
         %29 = OpConstantNull %int
         %35 = OpTypeSampledImage %11
    %v3float = OpTypeVector %float 3
      %v2int = OpTypeVector %int 2
         %47 = OpConstantComposite %v2int %int_1 %int_1
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %50 = OpTypeFunction %v4float
%textureSampleGrad_d65515 = OpFunction %void None %15
         %18 = OpLabel
      %arg_2 = OpVariable %_ptr_Function_v2float Function %24
      %arg_3 = OpVariable %_ptr_Function_int Function %29
      %arg_4 = OpVariable %_ptr_Function_v2float Function %24
      %arg_5 = OpVariable %_ptr_Function_v2float Function %24
        %res = OpVariable %_ptr_Function_v4float Function %5
               OpStore %arg_2 %21
               OpStore %arg_3 %int_1
               OpStore %arg_4 %21
               OpStore %arg_5 %21
         %33 = OpLoad %14 %arg_1
         %34 = OpLoad %11 %arg_0
         %36 = OpSampledImage %35 %34 %33
         %38 = OpLoad %v2float %arg_2
         %39 = OpCompositeExtract %float %38 0
         %40 = OpCompositeExtract %float %38 1
         %42 = OpLoad %int %arg_3
         %41 = OpConvertSToF %float %42
         %43 = OpCompositeConstruct %v3float %39 %40 %41
         %44 = OpLoad %v2float %arg_4
         %45 = OpLoad %v2float %arg_5
         %32 = OpImageSampleExplicitLod %v4float %36 %43 Grad|ConstOffset %44 %45 %47
               OpStore %res %32
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %50
         %52 = OpLabel
         %53 = OpFunctionCall %void %textureSampleGrad_d65515
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %15
         %55 = OpLabel
         %56 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %56
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %15
         %58 = OpLabel
         %59 = OpFunctionCall %void %textureSampleGrad_d65515
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %15
         %61 = OpLabel
         %62 = OpFunctionCall %void %textureSampleGrad_d65515
               OpReturn
               OpFunctionEnd
