; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 1
; Bound: 49
; Schema: 0
               OpCapability Shader
               OpCapability ClipDistance
               OpCapability CullDistance
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %4 "main" %13 %18 %35
               OpSource GLSL 450
               OpName %4 "main"
               OpName %11 "gl_PerVertex"
               OpMemberName %11 0 "gl_Position"
               OpMemberName %11 1 "gl_PointSize"
               OpMemberName %11 2 "gl_ClipDistance"
               OpMemberName %11 3 "gl_CullDistance"
               OpName %13 ""
               OpName %18 "vfetch_pos"
               OpName %35 "vtx_uv"
               OpName %37 "PushConstants"
               OpMemberName %37 0 "src_uv"
               OpName %39 "push_constants"
               OpMemberDecorate %11 0 BuiltIn Position
               OpMemberDecorate %11 1 BuiltIn PointSize
               OpMemberDecorate %11 2 BuiltIn ClipDistance
               OpMemberDecorate %11 3 BuiltIn CullDistance
               OpDecorate %11 Block
               OpDecorate %18 Location 0
               OpDecorate %35 Location 0
               OpMemberDecorate %37 0 Offset 0
               OpDecorate %37 Block
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeFloat 32
          %7 = OpTypeVector %6 4
          %8 = OpTypeInt 32 0
          %9 = OpConstant %8 1
         %10 = OpTypeArray %6 %9
         %11 = OpTypeStruct %7 %6 %10 %10
         %12 = OpTypePointer Output %11
         %13 = OpVariable %12 Output
         %14 = OpTypeInt 32 1
         %15 = OpConstant %14 0
         %16 = OpTypeVector %6 2
         %17 = OpTypePointer Input %16
         %18 = OpVariable %17 Input
         %20 = OpConstant %6 2
         %21 = OpConstant %6 -2
         %22 = OpConstantComposite %16 %20 %21
         %24 = OpConstant %6 1
         %25 = OpConstant %6 -1
         %26 = OpConstantComposite %16 %24 %25
         %28 = OpConstant %6 0
         %32 = OpTypePointer Output %7
         %34 = OpTypePointer Output %16
         %35 = OpVariable %34 Output
         %37 = OpTypeStruct %7
         %38 = OpTypePointer PushConstant %37
         %39 = OpVariable %38 PushConstant
         %40 = OpTypePointer PushConstant %7
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %19 = OpLoad %16 %18
         %23 = OpFMul %16 %19 %22
         %27 = OpFSub %16 %23 %26
         %29 = OpCompositeExtract %6 %27 0
         %30 = OpCompositeExtract %6 %27 1
         %31 = OpCompositeConstruct %7 %29 %30 %28 %24
         %33 = OpAccessChain %32 %13 %15
               OpStore %33 %31
         %36 = OpLoad %16 %18
         %41 = OpAccessChain %40 %39 %15
         %42 = OpLoad %7 %41
         %43 = OpVectorShuffle %16 %42 %42 2 3
         %44 = OpFMul %16 %36 %43
         %45 = OpAccessChain %40 %39 %15
         %46 = OpLoad %7 %45
         %47 = OpVectorShuffle %16 %46 %46 0 1
         %48 = OpFAdd %16 %44 %47
               OpStore %35 %48
               OpReturn
               OpFunctionEnd
