    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F33
    -- Copyright   :  (c) Sven Panne 2019
    -- License     :  BSD3
    --
    -- Maintainer  :  Sven Panne <svenpanne@gmail.com>
    -- Stability   :  stable
    -- Portability :  portable
    --
    -- Raw functions from the
    -- <http://www.opengl.org/registry/ OpenGL registry>.
    --
    --------------------------------------------------------------------------------

    module Graphics.GL.Functions.F33 (
      glWaitSync,
      glWaitSyncAPPLE,
      glWaitVkSemaphoreNV,
      glWeightPathsNV,
      glWeightPointerARB,
      glWeightPointerOES,
      glWeightbvARB,
      glWeightdvARB,
      glWeightfvARB,
      glWeightivARB,
      glWeightsvARB,
      glWeightubvARB,
      glWeightuivARB,
      glWeightusvARB,
      glWindowPos2d,
      glWindowPos2dARB,
      glWindowPos2dMESA,
      glWindowPos2dv,
      glWindowPos2dvARB,
      glWindowPos2dvMESA,
      glWindowPos2f,
      glWindowPos2fARB,
      glWindowPos2fMESA,
      glWindowPos2fv,
      glWindowPos2fvARB,
      glWindowPos2fvMESA,
      glWindowPos2i,
      glWindowPos2iARB,
      glWindowPos2iMESA,
      glWindowPos2iv,
      glWindowPos2ivARB,
      glWindowPos2ivMESA,
      glWindowPos2s,
      glWindowPos2sARB,
      glWindowPos2sMESA,
      glWindowPos2sv,
      glWindowPos2svARB,
      glWindowPos2svMESA,
      glWindowPos3d,
      glWindowPos3dARB,
      glWindowPos3dMESA,
      glWindowPos3dv,
      glWindowPos3dvARB,
      glWindowPos3dvMESA,
      glWindowPos3f,
      glWindowPos3fARB,
      glWindowPos3fMESA,
      glWindowPos3fv,
      glWindowPos3fvARB,
      glWindowPos3fvMESA,
      glWindowPos3i,
      glWindowPos3iARB,
      glWindowPos3iMESA,
      glWindowPos3iv,
      glWindowPos3ivARB,
      glWindowPos3ivMESA,
      glWindowPos3s,
      glWindowPos3sARB,
      glWindowPos3sMESA,
      glWindowPos3sv,
      glWindowPos3svARB,
      glWindowPos3svMESA,
      glWindowPos4dMESA,
      glWindowPos4dvMESA,
      glWindowPos4fMESA,
      glWindowPos4fvMESA,
      glWindowPos4iMESA,
      glWindowPos4ivMESA,
      glWindowPos4sMESA,
      glWindowPos4svMESA,
      glWindowRectanglesEXT,
      glWriteMaskEXT
    ) where

    import Control.Monad.IO.Class ( MonadIO(..) )
    import Foreign.Ptr
    import Graphics.GL.Foreign
    import Graphics.GL.Types
    import System.IO.Unsafe ( unsafePerformIO )

    -- glWaitSync ------------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glWaitSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glWaitSync.xhtml OpenGL 4.x>.
    glWaitSync
      :: MonadIO m
      => GLsync -- ^ @sync@ of type @sync@.
      -> GLbitfield -- ^ @flags@.
      -> GLuint64 -- ^ @timeout@.
      -> m ()
    glWaitSync :: forall (m :: * -> *).
    MonadIO m =>
    GLsync -> GLbitfield -> GLuint64 -> m ()
    glWaitSync GLsync
    v1 GLbitfield
    v2 GLuint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    -> GLsync -> GLbitfield -> GLuint64 -> IO ()
    dyn934 FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    ptr_glWaitSync GLsync
    v1 GLbitfield
    v2 GLuint64
    v3

    {-# NOINLINE ptr_glWaitSync #-}
    ptr_glWaitSync :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    ptr_glWaitSync :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    ptr_glWaitSync = IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    -> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
     -> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    -> IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    -> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWaitSync"

    -- glWaitSyncAPPLE -------------------------------------------------------------

    -- | This command is an alias for 'glWaitSync'.
    glWaitSyncAPPLE
      :: MonadIO m
      => GLsync -- ^ @sync@.
      -> GLbitfield -- ^ @flags@.
      -> GLuint64 -- ^ @timeout@.
      -> m ()
    glWaitSyncAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLsync -> GLbitfield -> GLuint64 -> m ()
    glWaitSyncAPPLE GLsync
    v1 GLbitfield
    v2 GLuint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    -> GLsync -> GLbitfield -> GLuint64 -> IO ()
    dyn934 FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    ptr_glWaitSyncAPPLE GLsync
    v1 GLbitfield
    v2 GLuint64
    v3

    {-# NOINLINE ptr_glWaitSyncAPPLE #-}
    ptr_glWaitSyncAPPLE :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    ptr_glWaitSyncAPPLE :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    ptr_glWaitSyncAPPLE = IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    -> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
     -> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    -> IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    -> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWaitSyncAPPLE"

    -- glWaitVkSemaphoreNV ---------------------------------------------------------

    glWaitVkSemaphoreNV
      :: MonadIO m
      => GLuint64 -- ^ @vkSemaphore@.
      -> m ()
    glWaitVkSemaphoreNV :: forall (m :: * -> *). MonadIO m => GLuint64 -> m ()
    glWaitVkSemaphoreNV GLuint64
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint64 -> IO ()) -> GLuint64 -> IO ()
    dyn517 FunPtr (GLuint64 -> IO ())
    ptr_glWaitVkSemaphoreNV GLuint64
    v1

    {-# NOINLINE ptr_glWaitVkSemaphoreNV #-}
    ptr_glWaitVkSemaphoreNV :: FunPtr (GLuint64 -> IO ())
    ptr_glWaitVkSemaphoreNV :: FunPtr (GLuint64 -> IO ())
    ptr_glWaitVkSemaphoreNV = IO (FunPtr (GLuint64 -> IO ())) -> FunPtr (GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint64 -> IO ())) -> FunPtr (GLuint64 -> IO ()))
    -> IO (FunPtr (GLuint64 -> IO ())) -> FunPtr (GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWaitVkSemaphoreNV"

    -- glWeightPathsNV -------------------------------------------------------------

    glWeightPathsNV
      :: MonadIO m
      => GLuint -- ^ @resultPath@ of type @Path@.
      -> GLsizei -- ^ @numPaths@.
      -> Ptr GLuint -- ^ @paths@ pointing to @numPaths@ elements of type @Path@.
      -> Ptr GLfloat -- ^ @weights@ pointing to @numPaths@ elements of type @GLfloat@.
      -> m ()
    glWeightPathsNV :: forall (m :: * -> *).
    MonadIO m =>
    GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> m ()
    glWeightPathsNV GLbitfield
    v1 GLsizei
    v2 Ptr GLbitfield
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ())
    -> GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ()
    dyn935 FunPtr
      (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ())
    ptr_glWeightPathsNV GLbitfield
    v1 GLsizei
    v2 Ptr GLbitfield
    v3 Ptr GLfloat
    v4

    {-# NOINLINE ptr_glWeightPathsNV #-}
    ptr_glWeightPathsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
    ptr_glWeightPathsNV :: FunPtr
      (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ())
    ptr_glWeightPathsNV = IO
      (FunPtr
         (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ()))
    -> FunPtr
         (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ()))
     -> FunPtr
          (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ()))
    -> IO
         (FunPtr
            (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ()))
    -> FunPtr
         (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLbitfield -> GLsizei -> Ptr GLbitfield -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightPathsNV"

    -- glWeightPointerARB ----------------------------------------------------------

    glWeightPointerARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> GLenum -- ^ @type@ of type [WeightPointerTypeARB](Graphics-GL-Groups.html#WeightPointerTypeARB).
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
      -> m ()
    glWeightPointerARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLsizei -> GLbitfield -> GLsizei -> Ptr a -> m ()
    glWeightPointerARB GLsizei
    v1 GLbitfield
    v2 GLsizei
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    -> GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    -> GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()
    dyn133 FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    ptr_glWeightPointerARB GLsizei
    v1 GLbitfield
    v2 GLsizei
    v3 Ptr a
    v4

    {-# NOINLINE ptr_glWeightPointerARB #-}
    ptr_glWeightPointerARB :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
    ptr_glWeightPointerARB :: forall a.
    FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    ptr_glWeightPointerARB = IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    -> FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
     -> FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    -> IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    -> FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightPointerARB"

    -- glWeightPointerOES ----------------------------------------------------------

    glWeightPointerOES
      :: MonadIO m
      => GLint -- ^ @size@.
      -> GLenum -- ^ @type@.
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
      -> m ()
    glWeightPointerOES :: forall (m :: * -> *) a.
    MonadIO m =>
    GLsizei -> GLbitfield -> GLsizei -> Ptr a -> m ()
    glWeightPointerOES GLsizei
    v1 GLbitfield
    v2 GLsizei
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    -> GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    -> GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()
    dyn133 FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    ptr_glWeightPointerOES GLsizei
    v1 GLbitfield
    v2 GLsizei
    v3 Ptr a
    v4

    {-# NOINLINE ptr_glWeightPointerOES #-}
    ptr_glWeightPointerOES :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
    ptr_glWeightPointerOES :: forall a.
    FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    ptr_glWeightPointerOES = IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    -> FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
     -> FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    -> IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    -> FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLsizei -> GLbitfield -> GLsizei -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightPointerOES"

    -- glWeightbvARB ---------------------------------------------------------------

    glWeightbvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLbyte -- ^ @weights@ pointing to @size@ elements of type @GLbyte@.
      -> m ()
    glWeightbvARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLbyte -> m ()
    glWeightbvARB GLsizei
    v1 Ptr GLbyte
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLbyte -> IO ())
    -> GLsizei -> Ptr GLbyte -> IO ()
    dyn936 FunPtr (GLsizei -> Ptr GLbyte -> IO ())
    ptr_glWeightbvARB GLsizei
    v1 Ptr GLbyte
    v2

    {-# NOINLINE ptr_glWeightbvARB #-}
    ptr_glWeightbvARB :: FunPtr (GLint -> Ptr GLbyte -> IO ())
    ptr_glWeightbvARB :: FunPtr (GLsizei -> Ptr GLbyte -> IO ())
    ptr_glWeightbvARB = IO (FunPtr (GLsizei -> Ptr GLbyte -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLbyte -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLbyte -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLbyte -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLbyte -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLbyte -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLbyte -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightbvARB"

    -- glWeightdvARB ---------------------------------------------------------------

    glWeightdvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLdouble -- ^ @weights@ pointing to @size@ elements of type @GLdouble@.
      -> m ()
    glWeightdvARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLdouble -> m ()
    glWeightdvARB GLsizei
    v1 Ptr GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLdouble -> IO ())
    -> GLsizei -> Ptr GLdouble -> IO ()
    dyn937 FunPtr (GLsizei -> Ptr GLdouble -> IO ())
    ptr_glWeightdvARB GLsizei
    v1 Ptr GLdouble
    v2

    {-# NOINLINE ptr_glWeightdvARB #-}
    ptr_glWeightdvARB :: FunPtr (GLint -> Ptr GLdouble -> IO ())
    ptr_glWeightdvARB :: FunPtr (GLsizei -> Ptr GLdouble -> IO ())
    ptr_glWeightdvARB = IO (FunPtr (GLsizei -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLdouble -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLdouble -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightdvARB"

    -- glWeightfvARB ---------------------------------------------------------------

    glWeightfvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLfloat -- ^ @weights@ pointing to @size@ elements of type @GLfloat@.
      -> m ()
    glWeightfvARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLfloat -> m ()
    glWeightfvARB GLsizei
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLfloat -> IO ())
    -> GLsizei -> Ptr GLfloat -> IO ()
    dyn938 FunPtr (GLsizei -> Ptr GLfloat -> IO ())
    ptr_glWeightfvARB GLsizei
    v1 Ptr GLfloat
    v2

    {-# NOINLINE ptr_glWeightfvARB #-}
    ptr_glWeightfvARB :: FunPtr (GLint -> Ptr GLfloat -> IO ())
    ptr_glWeightfvARB :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
    ptr_glWeightfvARB = IO (FunPtr (GLsizei -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightfvARB"

    -- glWeightivARB ---------------------------------------------------------------

    glWeightivARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLint -- ^ @weights@ pointing to @size@ elements of type @GLint@.
      -> m ()
    glWeightivARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLsizei -> m ()
    glWeightivARB GLsizei
    v1 Ptr GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLsizei -> IO ())
    -> GLsizei -> Ptr GLsizei -> IO ()
    dyn939 FunPtr (GLsizei -> Ptr GLsizei -> IO ())
    ptr_glWeightivARB GLsizei
    v1 Ptr GLsizei
    v2

    {-# NOINLINE ptr_glWeightivARB #-}
    ptr_glWeightivARB :: FunPtr (GLint -> Ptr GLint -> IO ())
    ptr_glWeightivARB :: FunPtr (GLsizei -> Ptr GLsizei -> IO ())
    ptr_glWeightivARB = IO (FunPtr (GLsizei -> Ptr GLsizei -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLsizei -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLsizei -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightivARB"

    -- glWeightsvARB ---------------------------------------------------------------

    glWeightsvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLshort -- ^ @weights@ pointing to @size@ elements of type @GLshort@.
      -> m ()
    glWeightsvARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLshort -> m ()
    glWeightsvARB GLsizei
    v1 Ptr GLshort
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLshort -> IO ())
    -> GLsizei -> Ptr GLshort -> IO ()
    dyn940 FunPtr (GLsizei -> Ptr GLshort -> IO ())
    ptr_glWeightsvARB GLsizei
    v1 Ptr GLshort
    v2

    {-# NOINLINE ptr_glWeightsvARB #-}
    ptr_glWeightsvARB :: FunPtr (GLint -> Ptr GLshort -> IO ())
    ptr_glWeightsvARB :: FunPtr (GLsizei -> Ptr GLshort -> IO ())
    ptr_glWeightsvARB = IO (FunPtr (GLsizei -> Ptr GLshort -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLshort -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLshort -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLshort -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightsvARB"

    -- glWeightubvARB --------------------------------------------------------------

    glWeightubvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLubyte -- ^ @weights@ pointing to @size@ elements of type @GLubyte@.
      -> m ()
    glWeightubvARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLubyte -> m ()
    glWeightubvARB GLsizei
    v1 Ptr GLubyte
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLubyte -> IO ())
    -> GLsizei -> Ptr GLubyte -> IO ()
    dyn543 FunPtr (GLsizei -> Ptr GLubyte -> IO ())
    ptr_glWeightubvARB GLsizei
    v1 Ptr GLubyte
    v2

    {-# NOINLINE ptr_glWeightubvARB #-}
    ptr_glWeightubvARB :: FunPtr (GLint -> Ptr GLubyte -> IO ())
    ptr_glWeightubvARB :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
    ptr_glWeightubvARB = IO (FunPtr (GLsizei -> Ptr GLubyte -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLubyte -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLubyte -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLubyte -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLubyte -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLubyte -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLubyte -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightubvARB"

    -- glWeightuivARB --------------------------------------------------------------

    glWeightuivARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLuint -- ^ @weights@ pointing to @size@ elements of type @GLuint@.
      -> m ()
    glWeightuivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> Ptr GLbitfield -> m ()
    glWeightuivARB GLsizei
    v1 Ptr GLbitfield
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLbitfield -> IO ())
    -> GLsizei -> Ptr GLbitfield -> IO ()
    dyn544 FunPtr (GLsizei -> Ptr GLbitfield -> IO ())
    ptr_glWeightuivARB GLsizei
    v1 Ptr GLbitfield
    v2

    {-# NOINLINE ptr_glWeightuivARB #-}
    ptr_glWeightuivARB :: FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glWeightuivARB :: FunPtr (GLsizei -> Ptr GLbitfield -> IO ())
    ptr_glWeightuivARB = IO (FunPtr (GLsizei -> Ptr GLbitfield -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLbitfield -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLbitfield -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLbitfield -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLbitfield -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLbitfield -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLbitfield -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightuivARB"

    -- glWeightusvARB --------------------------------------------------------------

    glWeightusvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLushort -- ^ @weights@ pointing to @size@ elements of type @GLushort@.
      -> m ()
    glWeightusvARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLushort -> m ()
    glWeightusvARB GLsizei
    v1 Ptr GLushort
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLushort -> IO ())
    -> GLsizei -> Ptr GLushort -> IO ()
    dyn545 FunPtr (GLsizei -> Ptr GLushort -> IO ())
    ptr_glWeightusvARB GLsizei
    v1 Ptr GLushort
    v2

    {-# NOINLINE ptr_glWeightusvARB #-}
    ptr_glWeightusvARB :: FunPtr (GLint -> Ptr GLushort -> IO ())
    ptr_glWeightusvARB :: FunPtr (GLsizei -> Ptr GLushort -> IO ())
    ptr_glWeightusvARB = IO (FunPtr (GLsizei -> Ptr GLushort -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLushort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> Ptr GLushort -> IO ()))
     -> FunPtr (GLsizei -> Ptr GLushort -> IO ()))
    -> IO (FunPtr (GLsizei -> Ptr GLushort -> IO ()))
    -> FunPtr (GLsizei -> Ptr GLushort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> Ptr GLushort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWeightusvARB"

    -- glWindowPos2d ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2dv'.
    glWindowPos2d
      :: MonadIO m
      => GLdouble -- ^ @x@ of type @CoordD@.
      -> GLdouble -- ^ @y@ of type @CoordD@.
      -> m ()
    glWindowPos2d :: forall (m :: * -> *). MonadIO m => GLdouble -> GLdouble -> m ()
    glWindowPos2d GLdouble
    v1 GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> IO ()
    dyn225 FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2d GLdouble
    v1 GLdouble
    v2

    {-# NOINLINE ptr_glWindowPos2d #-}
    ptr_glWindowPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2d = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2d"

    -- glWindowPos2dARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2dvARB'. This command is an alias for 'glWindowPos2d'.
    glWindowPos2dARB
      :: MonadIO m
      => GLdouble -- ^ @x@ of type @CoordD@.
      -> GLdouble -- ^ @y@ of type @CoordD@.
      -> m ()
    glWindowPos2dARB :: forall (m :: * -> *). MonadIO m => GLdouble -> GLdouble -> m ()
    glWindowPos2dARB GLdouble
    v1 GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> IO ()
    dyn225 FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2dARB GLdouble
    v1 GLdouble
    v2

    {-# NOINLINE ptr_glWindowPos2dARB #-}
    ptr_glWindowPos2dARB :: FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2dARB :: FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2dARB = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2dARB"

    -- glWindowPos2dMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2dvMESA'. This command is an alias for 'glWindowPos2d'.
    glWindowPos2dMESA
      :: MonadIO m
      => GLdouble -- ^ @x@ of type @CoordD@.
      -> GLdouble -- ^ @y@ of type @CoordD@.
      -> m ()
    glWindowPos2dMESA :: forall (m :: * -> *). MonadIO m => GLdouble -> GLdouble -> m ()
    glWindowPos2dMESA GLdouble
    v1 GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> IO ()
    dyn225 FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2dMESA GLdouble
    v1 GLdouble
    v2

    {-# NOINLINE ptr_glWindowPos2dMESA #-}
    ptr_glWindowPos2dMESA :: FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2dMESA :: FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos2dMESA = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2dMESA"

    -- glWindowPos2dv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos2dv
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
      -> m ()
    glWindowPos2dv :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glWindowPos2dv Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dv Ptr GLdouble
    v1

    {-# NOINLINE ptr_glWindowPos2dv #-}
    ptr_glWindowPos2dv :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dv :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dv = IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLdouble -> IO ()))
     -> FunPtr (Ptr GLdouble -> IO ()))
    -> IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2dv"

    -- glWindowPos2dvARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2dv'.
    glWindowPos2dvARB
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
      -> m ()
    glWindowPos2dvARB :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glWindowPos2dvARB Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dvARB Ptr GLdouble
    v1

    {-# NOINLINE ptr_glWindowPos2dvARB #-}
    ptr_glWindowPos2dvARB :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dvARB :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dvARB = IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLdouble -> IO ()))
     -> FunPtr (Ptr GLdouble -> IO ()))
    -> IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2dvARB"

    -- glWindowPos2dvMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2dv'.
    glWindowPos2dvMESA
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
      -> m ()
    glWindowPos2dvMESA :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glWindowPos2dvMESA Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dvMESA Ptr GLdouble
    v1

    {-# NOINLINE ptr_glWindowPos2dvMESA #-}
    ptr_glWindowPos2dvMESA :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dvMESA :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos2dvMESA = IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLdouble -> IO ()))
     -> FunPtr (Ptr GLdouble -> IO ()))
    -> IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2dvMESA"

    -- glWindowPos2f ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2fv'.
    glWindowPos2f
      :: MonadIO m
      => GLfloat -- ^ @x@ of type @CoordF@.
      -> GLfloat -- ^ @y@ of type @CoordF@.
      -> m ()
    glWindowPos2f :: forall (m :: * -> *). MonadIO m => GLfloat -> GLfloat -> m ()
    glWindowPos2f GLfloat
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
    dyn230 FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2f GLfloat
    v1 GLfloat
    v2

    {-# NOINLINE ptr_glWindowPos2f #-}
    ptr_glWindowPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2f = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2f"

    -- glWindowPos2fARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2fvARB'. This command is an alias for 'glWindowPos2f'.
    glWindowPos2fARB
      :: MonadIO m
      => GLfloat -- ^ @x@ of type @CoordF@.
      -> GLfloat -- ^ @y@ of type @CoordF@.
      -> m ()
    glWindowPos2fARB :: forall (m :: * -> *). MonadIO m => GLfloat -> GLfloat -> m ()
    glWindowPos2fARB GLfloat
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
    dyn230 FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2fARB GLfloat
    v1 GLfloat
    v2

    {-# NOINLINE ptr_glWindowPos2fARB #-}
    ptr_glWindowPos2fARB :: FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2fARB :: FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2fARB = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2fARB"

    -- glWindowPos2fMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2fvMESA'. This command is an alias for 'glWindowPos2f'.
    glWindowPos2fMESA
      :: MonadIO m
      => GLfloat -- ^ @x@ of type @CoordF@.
      -> GLfloat -- ^ @y@ of type @CoordF@.
      -> m ()
    glWindowPos2fMESA :: forall (m :: * -> *). MonadIO m => GLfloat -> GLfloat -> m ()
    glWindowPos2fMESA GLfloat
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
    dyn230 FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2fMESA GLfloat
    v1 GLfloat
    v2

    {-# NOINLINE ptr_glWindowPos2fMESA #-}
    ptr_glWindowPos2fMESA :: FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2fMESA :: FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos2fMESA = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2fMESA"

    -- glWindowPos2fv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos2fv
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
      -> m ()
    glWindowPos2fv :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glWindowPos2fv Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fv Ptr GLfloat
    v1

    {-# NOINLINE ptr_glWindowPos2fv #-}
    ptr_glWindowPos2fv :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fv :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fv = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLfloat -> IO ()))
     -> FunPtr (Ptr GLfloat -> IO ()))
    -> IO (FunPtr (Ptr GLfloat -> IO ()))
    -> FunPtr (Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2fv"

    -- glWindowPos2fvARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2fv'.
    glWindowPos2fvARB
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
      -> m ()
    glWindowPos2fvARB :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glWindowPos2fvARB Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fvARB Ptr GLfloat
    v1

    {-# NOINLINE ptr_glWindowPos2fvARB #-}
    ptr_glWindowPos2fvARB :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fvARB :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fvARB = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLfloat -> IO ()))
     -> FunPtr (Ptr GLfloat -> IO ()))
    -> IO (FunPtr (Ptr GLfloat -> IO ()))
    -> FunPtr (Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2fvARB"

    -- glWindowPos2fvMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2fv'.
    glWindowPos2fvMESA
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
      -> m ()
    glWindowPos2fvMESA :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glWindowPos2fvMESA Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fvMESA Ptr GLfloat
    v1

    {-# NOINLINE ptr_glWindowPos2fvMESA #-}
    ptr_glWindowPos2fvMESA :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fvMESA :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos2fvMESA = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLfloat -> IO ()))
     -> FunPtr (Ptr GLfloat -> IO ()))
    -> IO (FunPtr (Ptr GLfloat -> IO ()))
    -> FunPtr (Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2fvMESA"

    -- glWindowPos2i ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2iv'.
    glWindowPos2i
      :: MonadIO m
      => GLint -- ^ @x@ of type @CoordI@.
      -> GLint -- ^ @y@ of type @CoordI@.
      -> m ()
    glWindowPos2i :: forall (m :: * -> *). MonadIO m => GLsizei -> GLsizei -> m ()
    glWindowPos2i GLsizei
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> IO ()
    dyn277 FunPtr (GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos2i GLsizei
    v1 GLsizei
    v2

    {-# NOINLINE ptr_glWindowPos2i #-}
    ptr_glWindowPos2i :: FunPtr (GLint -> GLint -> IO ())
    ptr_glWindowPos2i :: FunPtr (GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos2i = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2i"

    -- glWindowPos2iARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2ivARB'. This command is an alias for 'glWindowPos2i'.
    glWindowPos2iARB
      :: MonadIO m
      => GLint -- ^ @x@ of type @CoordI@.
      -> GLint -- ^ @y@ of type @CoordI@.
      -> m ()
    glWindowPos2iARB :: forall (m :: * -> *). MonadIO m => GLsizei -> GLsizei -> m ()
    glWindowPos2iARB GLsizei
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> IO ()
    dyn277 FunPtr (GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos2iARB GLsizei
    v1 GLsizei
    v2

    {-# NOINLINE ptr_glWindowPos2iARB #-}
    ptr_glWindowPos2iARB :: FunPtr (GLint -> GLint -> IO ())
    ptr_glWindowPos2iARB :: FunPtr (GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos2iARB = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2iARB"

    -- glWindowPos2iMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2ivMESA'. This command is an alias for 'glWindowPos2i'.
    glWindowPos2iMESA
      :: MonadIO m
      => GLint -- ^ @x@ of type @CoordI@.
      -> GLint -- ^ @y@ of type @CoordI@.
      -> m ()
    glWindowPos2iMESA :: forall (m :: * -> *). MonadIO m => GLsizei -> GLsizei -> m ()
    glWindowPos2iMESA GLsizei
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> IO ()
    dyn277 FunPtr (GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos2iMESA GLsizei
    v1 GLsizei
    v2

    {-# NOINLINE ptr_glWindowPos2iMESA #-}
    ptr_glWindowPos2iMESA :: FunPtr (GLint -> GLint -> IO ())
    ptr_glWindowPos2iMESA :: FunPtr (GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos2iMESA = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2iMESA"

    -- glWindowPos2iv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos2iv
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
      -> m ()
    glWindowPos2iv :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glWindowPos2iv Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos2iv Ptr GLsizei
    v1

    {-# NOINLINE ptr_glWindowPos2iv #-}
    ptr_glWindowPos2iv :: FunPtr (Ptr GLint -> IO ())
    ptr_glWindowPos2iv :: FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos2iv = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLsizei -> IO ()))
     -> FunPtr (Ptr GLsizei -> IO ()))
    -> IO (FunPtr (Ptr GLsizei -> IO ()))
    -> FunPtr (Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2iv"

    -- glWindowPos2ivARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2iv'.
    glWindowPos2ivARB
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
      -> m ()
    glWindowPos2ivARB :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glWindowPos2ivARB Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos2ivARB Ptr GLsizei
    v1

    {-# NOINLINE ptr_glWindowPos2ivARB #-}
    ptr_glWindowPos2ivARB :: FunPtr (Ptr GLint -> IO ())
    ptr_glWindowPos2ivARB :: FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos2ivARB = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLsizei -> IO ()))
     -> FunPtr (Ptr GLsizei -> IO ()))
    -> IO (FunPtr (Ptr GLsizei -> IO ()))
    -> FunPtr (Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2ivARB"

    -- glWindowPos2ivMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2iv'.
    glWindowPos2ivMESA
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
      -> m ()
    glWindowPos2ivMESA :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glWindowPos2ivMESA Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos2ivMESA Ptr GLsizei
    v1

    {-# NOINLINE ptr_glWindowPos2ivMESA #-}
    ptr_glWindowPos2ivMESA :: FunPtr (Ptr GLint -> IO ())
    ptr_glWindowPos2ivMESA :: FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos2ivMESA = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLsizei -> IO ()))
     -> FunPtr (Ptr GLsizei -> IO ()))
    -> IO (FunPtr (Ptr GLsizei -> IO ()))
    -> FunPtr (Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2ivMESA"

    -- glWindowPos2s ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2sv'.
    glWindowPos2s
      :: MonadIO m
      => GLshort -- ^ @x@ of type @CoordS@.
      -> GLshort -- ^ @y@ of type @CoordS@.
      -> m ()
    glWindowPos2s :: forall (m :: * -> *). MonadIO m => GLshort -> GLshort -> m ()
    glWindowPos2s GLshort
    v1 GLshort
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> IO ()
    dyn709 FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2s GLshort
    v1 GLshort
    v2

    {-# NOINLINE ptr_glWindowPos2s #-}
    ptr_glWindowPos2s :: FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2s :: FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2s = IO (FunPtr (GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLshort -> GLshort -> IO ()))
     -> FunPtr (GLshort -> GLshort -> IO ()))
    -> IO (FunPtr (GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLshort -> GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2s"

    -- glWindowPos2sARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2svARB'. This command is an alias for 'glWindowPos2s'.
    glWindowPos2sARB
      :: MonadIO m
      => GLshort -- ^ @x@ of type @CoordS@.
      -> GLshort -- ^ @y@ of type @CoordS@.
      -> m ()
    glWindowPos2sARB :: forall (m :: * -> *). MonadIO m => GLshort -> GLshort -> m ()
    glWindowPos2sARB GLshort
    v1 GLshort
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> IO ()
    dyn709 FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2sARB GLshort
    v1 GLshort
    v2

    {-# NOINLINE ptr_glWindowPos2sARB #-}
    ptr_glWindowPos2sARB :: FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2sARB :: FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2sARB = IO (FunPtr (GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLshort -> GLshort -> IO ()))
     -> FunPtr (GLshort -> GLshort -> IO ()))
    -> IO (FunPtr (GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLshort -> GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2sARB"

    -- glWindowPos2sMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos2svMESA'. This command is an alias for 'glWindowPos2s'.
    glWindowPos2sMESA
      :: MonadIO m
      => GLshort -- ^ @x@ of type @CoordS@.
      -> GLshort -- ^ @y@ of type @CoordS@.
      -> m ()
    glWindowPos2sMESA :: forall (m :: * -> *). MonadIO m => GLshort -> GLshort -> m ()
    glWindowPos2sMESA GLshort
    v1 GLshort
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> IO ()
    dyn709 FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2sMESA GLshort
    v1 GLshort
    v2

    {-# NOINLINE ptr_glWindowPos2sMESA #-}
    ptr_glWindowPos2sMESA :: FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2sMESA :: FunPtr (GLshort -> GLshort -> IO ())
    ptr_glWindowPos2sMESA = IO (FunPtr (GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLshort -> GLshort -> IO ()))
     -> FunPtr (GLshort -> GLshort -> IO ()))
    -> IO (FunPtr (GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLshort -> GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2sMESA"

    -- glWindowPos2sv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos2sv
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
      -> m ()
    glWindowPos2sv :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glWindowPos2sv Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2sv Ptr GLshort
    v1

    {-# NOINLINE ptr_glWindowPos2sv #-}
    ptr_glWindowPos2sv :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2sv :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2sv = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLshort -> IO ()))
     -> FunPtr (Ptr GLshort -> IO ()))
    -> IO (FunPtr (Ptr GLshort -> IO ()))
    -> FunPtr (Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2sv"

    -- glWindowPos2svARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2sv'.
    glWindowPos2svARB
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
      -> m ()
    glWindowPos2svARB :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glWindowPos2svARB Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2svARB Ptr GLshort
    v1

    {-# NOINLINE ptr_glWindowPos2svARB #-}
    ptr_glWindowPos2svARB :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2svARB :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2svARB = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLshort -> IO ()))
     -> FunPtr (Ptr GLshort -> IO ()))
    -> IO (FunPtr (Ptr GLshort -> IO ()))
    -> FunPtr (Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2svARB"

    -- glWindowPos2svMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos2sv'.
    glWindowPos2svMESA
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
      -> m ()
    glWindowPos2svMESA :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glWindowPos2svMESA Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2svMESA Ptr GLshort
    v1

    {-# NOINLINE ptr_glWindowPos2svMESA #-}
    ptr_glWindowPos2svMESA :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2svMESA :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos2svMESA = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLshort -> IO ()))
     -> FunPtr (Ptr GLshort -> IO ()))
    -> IO (FunPtr (Ptr GLshort -> IO ()))
    -> FunPtr (Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos2svMESA"

    -- glWindowPos3d ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3dv'.
    glWindowPos3d
      :: MonadIO m
      => GLdouble -- ^ @x@ of type @CoordD@.
      -> GLdouble -- ^ @y@ of type @CoordD@.
      -> GLdouble -- ^ @z@ of type @CoordD@.
      -> m ()
    glWindowPos3d :: forall (m :: * -> *).
    MonadIO m =>
    GLdouble -> GLdouble -> GLdouble -> m ()
    glWindowPos3d GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn41 FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3d GLdouble
    v1 GLdouble
    v2 GLdouble
    v3

    {-# NOINLINE ptr_glWindowPos3d #-}
    ptr_glWindowPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3d = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3d"

    -- glWindowPos3dARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3dvARB'. This command is an alias for 'glWindowPos3d'.
    glWindowPos3dARB
      :: MonadIO m
      => GLdouble -- ^ @x@ of type @CoordD@.
      -> GLdouble -- ^ @y@ of type @CoordD@.
      -> GLdouble -- ^ @z@ of type @CoordD@.
      -> m ()
    glWindowPos3dARB :: forall (m :: * -> *).
    MonadIO m =>
    GLdouble -> GLdouble -> GLdouble -> m ()
    glWindowPos3dARB GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn41 FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3dARB GLdouble
    v1 GLdouble
    v2 GLdouble
    v3

    {-# NOINLINE ptr_glWindowPos3dARB #-}
    ptr_glWindowPos3dARB :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3dARB :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3dARB = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3dARB"

    -- glWindowPos3dMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3dvMESA'. This command is an alias for 'glWindowPos3d'.
    glWindowPos3dMESA
      :: MonadIO m
      => GLdouble -- ^ @x@ of type @CoordD@.
      -> GLdouble -- ^ @y@ of type @CoordD@.
      -> GLdouble -- ^ @z@ of type @CoordD@.
      -> m ()
    glWindowPos3dMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLdouble -> GLdouble -> GLdouble -> m ()
    glWindowPos3dMESA GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn41 FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3dMESA GLdouble
    v1 GLdouble
    v2 GLdouble
    v3

    {-# NOINLINE ptr_glWindowPos3dMESA #-}
    ptr_glWindowPos3dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos3dMESA = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3dMESA"

    -- glWindowPos3dv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos3dv
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
      -> m ()
    glWindowPos3dv :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glWindowPos3dv Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dv Ptr GLdouble
    v1

    {-# NOINLINE ptr_glWindowPos3dv #-}
    ptr_glWindowPos3dv :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dv :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dv = IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLdouble -> IO ()))
     -> FunPtr (Ptr GLdouble -> IO ()))
    -> IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3dv"

    -- glWindowPos3dvARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3dv'.
    glWindowPos3dvARB
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
      -> m ()
    glWindowPos3dvARB :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glWindowPos3dvARB Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dvARB Ptr GLdouble
    v1

    {-# NOINLINE ptr_glWindowPos3dvARB #-}
    ptr_glWindowPos3dvARB :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dvARB :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dvARB = IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLdouble -> IO ()))
     -> FunPtr (Ptr GLdouble -> IO ()))
    -> IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3dvARB"

    -- glWindowPos3dvMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3dv'.
    glWindowPos3dvMESA
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
      -> m ()
    glWindowPos3dvMESA :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glWindowPos3dvMESA Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dvMESA Ptr GLdouble
    v1

    {-# NOINLINE ptr_glWindowPos3dvMESA #-}
    ptr_glWindowPos3dvMESA :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dvMESA :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos3dvMESA = IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLdouble -> IO ()))
     -> FunPtr (Ptr GLdouble -> IO ()))
    -> IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3dvMESA"

    -- glWindowPos3f ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3fv'.
    glWindowPos3f
      :: MonadIO m
      => GLfloat -- ^ @x@ of type @CoordF@.
      -> GLfloat -- ^ @y@ of type @CoordF@.
      -> GLfloat -- ^ @z@ of type @CoordF@.
      -> m ()
    glWindowPos3f :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> m ()
    glWindowPos3f GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn43 FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3f GLfloat
    v1 GLfloat
    v2 GLfloat
    v3

    {-# NOINLINE ptr_glWindowPos3f #-}
    ptr_glWindowPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3f = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3f"

    -- glWindowPos3fARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3fvARB'. This command is an alias for 'glWindowPos3f'.
    glWindowPos3fARB
      :: MonadIO m
      => GLfloat -- ^ @x@ of type @CoordF@.
      -> GLfloat -- ^ @y@ of type @CoordF@.
      -> GLfloat -- ^ @z@ of type @CoordF@.
      -> m ()
    glWindowPos3fARB :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> m ()
    glWindowPos3fARB GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn43 FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3fARB GLfloat
    v1 GLfloat
    v2 GLfloat
    v3

    {-# NOINLINE ptr_glWindowPos3fARB #-}
    ptr_glWindowPos3fARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3fARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3fARB = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3fARB"

    -- glWindowPos3fMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3fvMESA'. This command is an alias for 'glWindowPos3f'.
    glWindowPos3fMESA
      :: MonadIO m
      => GLfloat -- ^ @x@ of type @CoordF@.
      -> GLfloat -- ^ @y@ of type @CoordF@.
      -> GLfloat -- ^ @z@ of type @CoordF@.
      -> m ()
    glWindowPos3fMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> m ()
    glWindowPos3fMESA GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn43 FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3fMESA GLfloat
    v1 GLfloat
    v2 GLfloat
    v3

    {-# NOINLINE ptr_glWindowPos3fMESA #-}
    ptr_glWindowPos3fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos3fMESA = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3fMESA"

    -- glWindowPos3fv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos3fv
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
      -> m ()
    glWindowPos3fv :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glWindowPos3fv Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fv Ptr GLfloat
    v1

    {-# NOINLINE ptr_glWindowPos3fv #-}
    ptr_glWindowPos3fv :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fv :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fv = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLfloat -> IO ()))
     -> FunPtr (Ptr GLfloat -> IO ()))
    -> IO (FunPtr (Ptr GLfloat -> IO ()))
    -> FunPtr (Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3fv"

    -- glWindowPos3fvARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3fv'.
    glWindowPos3fvARB
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
      -> m ()
    glWindowPos3fvARB :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glWindowPos3fvARB Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fvARB Ptr GLfloat
    v1

    {-# NOINLINE ptr_glWindowPos3fvARB #-}
    ptr_glWindowPos3fvARB :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fvARB :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fvARB = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLfloat -> IO ()))
     -> FunPtr (Ptr GLfloat -> IO ()))
    -> IO (FunPtr (Ptr GLfloat -> IO ()))
    -> FunPtr (Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3fvARB"

    -- glWindowPos3fvMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3fv'.
    glWindowPos3fvMESA
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
      -> m ()
    glWindowPos3fvMESA :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glWindowPos3fvMESA Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fvMESA Ptr GLfloat
    v1

    {-# NOINLINE ptr_glWindowPos3fvMESA #-}
    ptr_glWindowPos3fvMESA :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fvMESA :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos3fvMESA = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLfloat -> IO ()))
     -> FunPtr (Ptr GLfloat -> IO ()))
    -> IO (FunPtr (Ptr GLfloat -> IO ()))
    -> FunPtr (Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3fvMESA"

    -- glWindowPos3i ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3iv'.
    glWindowPos3i
      :: MonadIO m
      => GLint -- ^ @x@ of type @CoordI@.
      -> GLint -- ^ @y@ of type @CoordI@.
      -> GLint -- ^ @z@ of type @CoordI@.
      -> m ()
    glWindowPos3i :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLsizei -> GLsizei -> m ()
    glWindowPos3i GLsizei
    v1 GLsizei
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn45 FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos3i GLsizei
    v1 GLsizei
    v2 GLsizei
    v3

    {-# NOINLINE ptr_glWindowPos3i #-}
    ptr_glWindowPos3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glWindowPos3i :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos3i = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3i"

    -- glWindowPos3iARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3ivARB'. This command is an alias for 'glWindowPos3i'.
    glWindowPos3iARB
      :: MonadIO m
      => GLint -- ^ @x@ of type @CoordI@.
      -> GLint -- ^ @y@ of type @CoordI@.
      -> GLint -- ^ @z@ of type @CoordI@.
      -> m ()
    glWindowPos3iARB :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLsizei -> GLsizei -> m ()
    glWindowPos3iARB GLsizei
    v1 GLsizei
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn45 FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos3iARB GLsizei
    v1 GLsizei
    v2 GLsizei
    v3

    {-# NOINLINE ptr_glWindowPos3iARB #-}
    ptr_glWindowPos3iARB :: FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glWindowPos3iARB :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos3iARB = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3iARB"

    -- glWindowPos3iMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3ivMESA'. This command is an alias for 'glWindowPos3i'.
    glWindowPos3iMESA
      :: MonadIO m
      => GLint -- ^ @x@ of type @CoordI@.
      -> GLint -- ^ @y@ of type @CoordI@.
      -> GLint -- ^ @z@ of type @CoordI@.
      -> m ()
    glWindowPos3iMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLsizei -> GLsizei -> m ()
    glWindowPos3iMESA GLsizei
    v1 GLsizei
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn45 FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos3iMESA GLsizei
    v1 GLsizei
    v2 GLsizei
    v3

    {-# NOINLINE ptr_glWindowPos3iMESA #-}
    ptr_glWindowPos3iMESA :: FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glWindowPos3iMESA :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos3iMESA = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3iMESA"

    -- glWindowPos3iv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos3iv
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
      -> m ()
    glWindowPos3iv :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glWindowPos3iv Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos3iv Ptr GLsizei
    v1

    {-# NOINLINE ptr_glWindowPos3iv #-}
    ptr_glWindowPos3iv :: FunPtr (Ptr GLint -> IO ())
    ptr_glWindowPos3iv :: FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos3iv = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLsizei -> IO ()))
     -> FunPtr (Ptr GLsizei -> IO ()))
    -> IO (FunPtr (Ptr GLsizei -> IO ()))
    -> FunPtr (Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3iv"

    -- glWindowPos3ivARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3iv'.
    glWindowPos3ivARB
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
      -> m ()
    glWindowPos3ivARB :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glWindowPos3ivARB Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos3ivARB Ptr GLsizei
    v1

    {-# NOINLINE ptr_glWindowPos3ivARB #-}
    ptr_glWindowPos3ivARB :: FunPtr (Ptr GLint -> IO ())
    ptr_glWindowPos3ivARB :: FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos3ivARB = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLsizei -> IO ()))
     -> FunPtr (Ptr GLsizei -> IO ()))
    -> IO (FunPtr (Ptr GLsizei -> IO ()))
    -> FunPtr (Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3ivARB"

    -- glWindowPos3ivMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3iv'.
    glWindowPos3ivMESA
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
      -> m ()
    glWindowPos3ivMESA :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glWindowPos3ivMESA Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos3ivMESA Ptr GLsizei
    v1

    {-# NOINLINE ptr_glWindowPos3ivMESA #-}
    ptr_glWindowPos3ivMESA :: FunPtr (Ptr GLint -> IO ())
    ptr_glWindowPos3ivMESA :: FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos3ivMESA = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLsizei -> IO ()))
     -> FunPtr (Ptr GLsizei -> IO ()))
    -> IO (FunPtr (Ptr GLsizei -> IO ()))
    -> FunPtr (Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3ivMESA"

    -- glWindowPos3s ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3sv'.
    glWindowPos3s
      :: MonadIO m
      => GLshort -- ^ @x@ of type @CoordS@.
      -> GLshort -- ^ @y@ of type @CoordS@.
      -> GLshort -- ^ @z@ of type @CoordS@.
      -> m ()
    glWindowPos3s :: forall (m :: * -> *).
    MonadIO m =>
    GLshort -> GLshort -> GLshort -> m ()
    glWindowPos3s GLshort
    v1 GLshort
    v2 GLshort
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    -> GLshort -> GLshort -> GLshort -> IO ()
    dyn47 FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3s GLshort
    v1 GLshort
    v2 GLshort
    v3

    {-# NOINLINE ptr_glWindowPos3s #-}
    ptr_glWindowPos3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3s = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
     -> FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3s"

    -- glWindowPos3sARB ------------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3svARB'. This command is an alias for 'glWindowPos3s'.
    glWindowPos3sARB
      :: MonadIO m
      => GLshort -- ^ @x@ of type @CoordS@.
      -> GLshort -- ^ @y@ of type @CoordS@.
      -> GLshort -- ^ @z@ of type @CoordS@.
      -> m ()
    glWindowPos3sARB :: forall (m :: * -> *).
    MonadIO m =>
    GLshort -> GLshort -> GLshort -> m ()
    glWindowPos3sARB GLshort
    v1 GLshort
    v2 GLshort
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    -> GLshort -> GLshort -> GLshort -> IO ()
    dyn47 FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3sARB GLshort
    v1 GLshort
    v2 GLshort
    v3

    {-# NOINLINE ptr_glWindowPos3sARB #-}
    ptr_glWindowPos3sARB :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3sARB :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3sARB = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
     -> FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3sARB"

    -- glWindowPos3sMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos3svMESA'. This command is an alias for 'glWindowPos3s'.
    glWindowPos3sMESA
      :: MonadIO m
      => GLshort -- ^ @x@ of type @CoordS@.
      -> GLshort -- ^ @y@ of type @CoordS@.
      -> GLshort -- ^ @z@ of type @CoordS@.
      -> m ()
    glWindowPos3sMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLshort -> GLshort -> GLshort -> m ()
    glWindowPos3sMESA GLshort
    v1 GLshort
    v2 GLshort
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    -> GLshort -> GLshort -> GLshort -> IO ()
    dyn47 FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3sMESA GLshort
    v1 GLshort
    v2 GLshort
    v3

    {-# NOINLINE ptr_glWindowPos3sMESA #-}
    ptr_glWindowPos3sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos3sMESA = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
     -> FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3sMESA"

    -- glWindowPos3sv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
    glWindowPos3sv
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
      -> m ()
    glWindowPos3sv :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glWindowPos3sv Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3sv Ptr GLshort
    v1

    {-# NOINLINE ptr_glWindowPos3sv #-}
    ptr_glWindowPos3sv :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3sv :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3sv = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLshort -> IO ()))
     -> FunPtr (Ptr GLshort -> IO ()))
    -> IO (FunPtr (Ptr GLshort -> IO ()))
    -> FunPtr (Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3sv"

    -- glWindowPos3svARB -----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3sv'.
    glWindowPos3svARB
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
      -> m ()
    glWindowPos3svARB :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glWindowPos3svARB Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3svARB Ptr GLshort
    v1

    {-# NOINLINE ptr_glWindowPos3svARB #-}
    ptr_glWindowPos3svARB :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3svARB :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3svARB = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLshort -> IO ()))
     -> FunPtr (Ptr GLshort -> IO ()))
    -> IO (FunPtr (Ptr GLshort -> IO ()))
    -> FunPtr (Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3svARB"

    -- glWindowPos3svMESA ----------------------------------------------------------

    -- | This command is an alias for 'glWindowPos3sv'.
    glWindowPos3svMESA
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
      -> m ()
    glWindowPos3svMESA :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glWindowPos3svMESA Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3svMESA Ptr GLshort
    v1

    {-# NOINLINE ptr_glWindowPos3svMESA #-}
    ptr_glWindowPos3svMESA :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3svMESA :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos3svMESA = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLshort -> IO ()))
     -> FunPtr (Ptr GLshort -> IO ()))
    -> IO (FunPtr (Ptr GLshort -> IO ()))
    -> FunPtr (Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos3svMESA"

    -- glWindowPos4dMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos4dvMESA'.
    glWindowPos4dMESA
      :: MonadIO m
      => GLdouble -- ^ @x@ of type @CoordD@.
      -> GLdouble -- ^ @y@ of type @CoordD@.
      -> GLdouble -- ^ @z@ of type @CoordD@.
      -> GLdouble -- ^ @w@ of type @CoordD@.
      -> m ()
    glWindowPos4dMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
    glWindowPos4dMESA GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn116 FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos4dMESA GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4

    {-# NOINLINE ptr_glWindowPos4dMESA #-}
    ptr_glWindowPos4dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos4dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glWindowPos4dMESA = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> IO
         (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4dMESA"

    -- glWindowPos4dvMESA ----------------------------------------------------------

    glWindowPos4dvMESA
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
      -> m ()
    glWindowPos4dvMESA :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glWindowPos4dvMESA Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos4dvMESA Ptr GLdouble
    v1

    {-# NOINLINE ptr_glWindowPos4dvMESA #-}
    ptr_glWindowPos4dvMESA :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos4dvMESA :: FunPtr (Ptr GLdouble -> IO ())
    ptr_glWindowPos4dvMESA = IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLdouble -> IO ()))
     -> FunPtr (Ptr GLdouble -> IO ()))
    -> IO (FunPtr (Ptr GLdouble -> IO ()))
    -> FunPtr (Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4dvMESA"

    -- glWindowPos4fMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos4fvMESA'.
    glWindowPos4fMESA
      :: MonadIO m
      => GLfloat -- ^ @x@ of type @CoordF@.
      -> GLfloat -- ^ @y@ of type @CoordF@.
      -> GLfloat -- ^ @z@ of type @CoordF@.
      -> GLfloat -- ^ @w@ of type @CoordF@.
      -> m ()
    glWindowPos4fMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glWindowPos4fMESA GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn52 FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos4fMESA GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

    {-# NOINLINE ptr_glWindowPos4fMESA #-}
    ptr_glWindowPos4fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos4fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glWindowPos4fMESA = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4fMESA"

    -- glWindowPos4fvMESA ----------------------------------------------------------

    glWindowPos4fvMESA
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
      -> m ()
    glWindowPos4fvMESA :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glWindowPos4fvMESA Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos4fvMESA Ptr GLfloat
    v1

    {-# NOINLINE ptr_glWindowPos4fvMESA #-}
    ptr_glWindowPos4fvMESA :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos4fvMESA :: FunPtr (Ptr GLfloat -> IO ())
    ptr_glWindowPos4fvMESA = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLfloat -> IO ()))
     -> FunPtr (Ptr GLfloat -> IO ()))
    -> IO (FunPtr (Ptr GLfloat -> IO ()))
    -> FunPtr (Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4fvMESA"

    -- glWindowPos4iMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos4ivMESA'.
    glWindowPos4iMESA
      :: MonadIO m
      => GLint -- ^ @x@ of type @CoordI@.
      -> GLint -- ^ @y@ of type @CoordI@.
      -> GLint -- ^ @z@ of type @CoordI@.
      -> GLint -- ^ @w@ of type @CoordI@.
      -> m ()
    glWindowPos4iMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glWindowPos4iMESA GLsizei
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn82 FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos4iMESA GLsizei
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4

    {-# NOINLINE ptr_glWindowPos4iMESA #-}
    ptr_glWindowPos4iMESA :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glWindowPos4iMESA :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glWindowPos4iMESA = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4iMESA"

    -- glWindowPos4ivMESA ----------------------------------------------------------

    glWindowPos4ivMESA
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
      -> m ()
    glWindowPos4ivMESA :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glWindowPos4ivMESA Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos4ivMESA Ptr GLsizei
    v1

    {-# NOINLINE ptr_glWindowPos4ivMESA #-}
    ptr_glWindowPos4ivMESA :: FunPtr (Ptr GLint -> IO ())
    ptr_glWindowPos4ivMESA :: FunPtr (Ptr GLsizei -> IO ())
    ptr_glWindowPos4ivMESA = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLsizei -> IO ()))
     -> FunPtr (Ptr GLsizei -> IO ()))
    -> IO (FunPtr (Ptr GLsizei -> IO ()))
    -> FunPtr (Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4ivMESA"

    -- glWindowPos4sMESA -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glWindowPos4svMESA'.
    glWindowPos4sMESA
      :: MonadIO m
      => GLshort -- ^ @x@ of type @CoordS@.
      -> GLshort -- ^ @y@ of type @CoordS@.
      -> GLshort -- ^ @z@ of type @CoordS@.
      -> GLshort -- ^ @w@ of type @CoordS@.
      -> m ()
    glWindowPos4sMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLshort -> GLshort -> GLshort -> GLshort -> m ()
    glWindowPos4sMESA GLshort
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
    dyn120 FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos4sMESA GLshort
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4

    {-# NOINLINE ptr_glWindowPos4sMESA #-}
    ptr_glWindowPos4sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos4sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    ptr_glWindowPos4sMESA = IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
     -> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
    -> IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
    -> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4sMESA"

    -- glWindowPos4svMESA ----------------------------------------------------------

    glWindowPos4svMESA
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
      -> m ()
    glWindowPos4svMESA :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glWindowPos4svMESA Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos4svMESA Ptr GLshort
    v1

    {-# NOINLINE ptr_glWindowPos4svMESA #-}
    ptr_glWindowPos4svMESA :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos4svMESA :: FunPtr (Ptr GLshort -> IO ())
    ptr_glWindowPos4svMESA = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLshort -> IO ()))
     -> FunPtr (Ptr GLshort -> IO ()))
    -> IO (FunPtr (Ptr GLshort -> IO ()))
    -> FunPtr (Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowPos4svMESA"

    -- glWindowRectanglesEXT -------------------------------------------------------

    glWindowRectanglesEXT
      :: MonadIO m
      => GLenum -- ^ @mode@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @box@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
      -> m ()
    glWindowRectanglesEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLbitfield -> GLsizei -> Ptr GLsizei -> m ()
    glWindowRectanglesEXT GLbitfield
    v1 GLsizei
    v2 Ptr GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLbitfield -> GLsizei -> Ptr GLsizei -> IO ()
    dyn941 FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glWindowRectanglesEXT GLbitfield
    v1 GLsizei
    v2 Ptr GLsizei
    v3

    {-# NOINLINE ptr_glWindowRectanglesEXT #-}
    ptr_glWindowRectanglesEXT :: FunPtr (GLenum -> GLsizei -> Ptr GLint -> IO ())
    ptr_glWindowRectanglesEXT :: FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glWindowRectanglesEXT = IO (FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ()))
    -> FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ()))
     -> FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ()))
    -> IO (FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ()))
    -> FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLbitfield -> GLsizei -> Ptr GLsizei -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWindowRectanglesEXT"

    -- glWriteMaskEXT --------------------------------------------------------------

    glWriteMaskEXT
      :: MonadIO m
      => GLuint -- ^ @res@.
      -> GLuint -- ^ @in@.
      -> GLenum -- ^ @outX@ of type [VertexShaderWriteMaskEXT](Graphics-GL-Groups.html#VertexShaderWriteMaskEXT).
      -> GLenum -- ^ @outY@ of type [VertexShaderWriteMaskEXT](Graphics-GL-Groups.html#VertexShaderWriteMaskEXT).
      -> GLenum -- ^ @outZ@ of type [VertexShaderWriteMaskEXT](Graphics-GL-Groups.html#VertexShaderWriteMaskEXT).
      -> GLenum -- ^ @outW@ of type [VertexShaderWriteMaskEXT](Graphics-GL-Groups.html#VertexShaderWriteMaskEXT).
      -> m ()
    glWriteMaskEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> m ()
    glWriteMaskEXT GLbitfield
    v1 GLbitfield
    v2 GLbitfield
    v3 GLbitfield
    v4 GLbitfield
    v5 GLbitfield
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> IO ())
    -> GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> GLbitfield
    -> IO ()
    dyn763 FunPtr
      (GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> IO ())
    ptr_glWriteMaskEXT GLbitfield
    v1 GLbitfield
    v2 GLbitfield
    v3 GLbitfield
    v4 GLbitfield
    v5 GLbitfield
    v6

    {-# NOINLINE ptr_glWriteMaskEXT #-}
    ptr_glWriteMaskEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glWriteMaskEXT :: FunPtr
      (GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> GLbitfield
       -> IO ())
    ptr_glWriteMaskEXT = IO
      (FunPtr
         (GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> IO ()))
    -> FunPtr
         (GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> IO ()))
     -> FunPtr
          (GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> GLbitfield
           -> IO ()))
    -> IO
         (FunPtr
            (GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> IO ()))
    -> FunPtr
         (GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> GLbitfield
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> GLbitfield
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glWriteMaskEXT"