-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.SGIS.Texture4D (
  -- * Extension Support
    gl_SGIS_texture4D

  -- * GL_SGIS_texture4D
  , glTexImage4DSGIS
  , glTexSubImage4DSGIS
  , pattern GL_MAX_4D_TEXTURE_SIZE_SGIS
  , pattern GL_PACK_IMAGE_DEPTH_SGIS
  , pattern GL_PACK_SKIP_VOLUMES_SGIS
  , pattern GL_PROXY_TEXTURE_4D_SGIS
  , pattern GL_TEXTURE_4DSIZE_SGIS
  , pattern GL_TEXTURE_4D_BINDING_SGIS
  , pattern GL_TEXTURE_4D_SGIS
  , pattern GL_TEXTURE_WRAP_Q_SGIS
  , pattern GL_UNPACK_IMAGE_DEPTH_SGIS
  , pattern GL_UNPACK_SKIP_VOLUMES_SGIS
) where

import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Raw.Internal.FFI
import Graphics.GL.Raw.Internal.Proc
import Graphics.GL.Raw.Types
import System.IO.Unsafe

gl_SGIS_texture4D :: Bool
gl_SGIS_texture4D = member "GL_SGIS_texture4D" extensions

glTexImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glTexImage4DSGIS = ffienumintenumsizeisizeisizeisizeiintenumenumPtrVIOV glTexImage4DSGISFunPtr

glTexImage4DSGISFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glTexImage4DSGISFunPtr = unsafePerformIO (getProcAddress "glTexImage4DSGIS")

{-# NOINLINE glTexImage4DSGISFunPtr #-}

glTexSubImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTexSubImage4DSGIS = ffienumintintintintintsizeisizeisizeisizeienumenumPtrVIOV glTexSubImage4DSGISFunPtr

glTexSubImage4DSGISFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTexSubImage4DSGISFunPtr = unsafePerformIO (getProcAddress "glTexSubImage4DSGIS")

{-# NOINLINE glTexSubImage4DSGISFunPtr #-}

pattern GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138 :: GLenum

pattern GL_PACK_IMAGE_DEPTH_SGIS = 0x8131 :: GLenum

pattern GL_PACK_SKIP_VOLUMES_SGIS = 0x8130 :: GLenum

pattern GL_PROXY_TEXTURE_4D_SGIS = 0x8135 :: GLenum

pattern GL_TEXTURE_4DSIZE_SGIS = 0x8136 :: GLenum

pattern GL_TEXTURE_4D_BINDING_SGIS = 0x814F :: GLenum

pattern GL_TEXTURE_4D_SGIS = 0x8134 :: GLenum

pattern GL_TEXTURE_WRAP_Q_SGIS = 0x8137 :: GLenum

pattern GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133 :: GLenum

pattern GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132 :: GLenum