gl-0.9: generated-src/Graphics/GL/Ext/EXT/TextureObject.hs
-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.EXT.TextureObject (
-- * Extension Support
gl_EXT_texture_object
-- * GL_EXT_texture_object
, glAreTexturesResidentEXT
, glBindTextureEXT
, glDeleteTexturesEXT
, glGenTexturesEXT
, glIsTextureEXT
, glPrioritizeTexturesEXT
, pattern GL_TEXTURE_1D_BINDING_EXT
, pattern GL_TEXTURE_2D_BINDING_EXT
, pattern GL_TEXTURE_3D_BINDING_EXT
, pattern GL_TEXTURE_PRIORITY_EXT
, pattern GL_TEXTURE_RESIDENT_EXT
) where
import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.Types
import System.IO.Unsafe
-- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_object.txt GL_EXT_texture_object> extension is available.
gl_EXT_texture_object :: Bool
gl_EXT_texture_object = member "GL_EXT_texture_object" extensions
{-# NOINLINE gl_EXT_texture_object #-}
-- | Usage: @'glAreTexturesResidentEXT' n textures residences@
--
-- The parameter @textures@ is a @Texture@.
--
-- The parameter @residences@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @textures@ should be @n@.
--
-- The length of @residences@ should be @n@.
glAreTexturesResidentEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
glAreTexturesResidentEXT = ffisizeiPtruintPtrbooleanIOboolean glAreTexturesResidentEXTFunPtr
glAreTexturesResidentEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
glAreTexturesResidentEXTFunPtr = unsafePerformIO (getProcAddress "glAreTexturesResidentEXT")
{-# NOINLINE glAreTexturesResidentEXTFunPtr #-}
-- | Usage: @'glBindTextureEXT' target texture@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @texture@ is a @Texture@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glBindTexture'.
glBindTextureEXT :: MonadIO m => GLenum -> GLuint -> m ()
glBindTextureEXT = ffienumuintIOV glBindTextureEXTFunPtr
glBindTextureEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindTextureEXTFunPtr = unsafePerformIO (getProcAddress "glBindTextureEXT")
{-# NOINLINE glBindTextureEXTFunPtr #-}
-- | Usage: @'glDeleteTexturesEXT' n textures@
--
-- The parameter @textures@ is a @Texture@.
--
-- The length of @textures@ should be @n@.
glDeleteTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteTexturesEXT = ffisizeiPtruintIOV glDeleteTexturesEXTFunPtr
glDeleteTexturesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteTexturesEXTFunPtr = unsafePerformIO (getProcAddress "glDeleteTexturesEXT")
{-# NOINLINE glDeleteTexturesEXTFunPtr #-}
-- | Usage: @'glGenTexturesEXT' n textures@
--
-- The parameter @textures@ is a @Texture@.
--
-- The length of @textures@ should be @n@.
glGenTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTexturesEXT = ffisizeiPtruintIOV glGenTexturesEXTFunPtr
glGenTexturesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenTexturesEXTFunPtr = unsafePerformIO (getProcAddress "glGenTexturesEXT")
{-# NOINLINE glGenTexturesEXTFunPtr #-}
-- | Usage: @'glIsTextureEXT' texture@
--
-- The parameter @texture@ is a @Texture@.
glIsTextureEXT :: MonadIO m => GLuint -> m GLboolean
glIsTextureEXT = ffiuintIOboolean glIsTextureEXTFunPtr
glIsTextureEXTFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsTextureEXTFunPtr = unsafePerformIO (getProcAddress "glIsTextureEXT")
{-# NOINLINE glIsTextureEXTFunPtr #-}
-- | Usage: @'glPrioritizeTexturesEXT' n textures priorities@
--
-- The parameter @textures@ is a @Texture@.
--
-- The parameter @priorities@ is a @ClampedFloat32@.
--
-- The length of @textures@ should be @n@.
--
-- The length of @priorities@ should be @n@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glPrioritizeTextures'.
glPrioritizeTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLclampf -> m ()
glPrioritizeTexturesEXT = ffisizeiPtruintPtrclampfIOV glPrioritizeTexturesEXTFunPtr
glPrioritizeTexturesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
glPrioritizeTexturesEXTFunPtr = unsafePerformIO (getProcAddress "glPrioritizeTexturesEXT")
{-# NOINLINE glPrioritizeTexturesEXTFunPtr #-}
pattern GL_TEXTURE_1D_BINDING_EXT = 0x8068
pattern GL_TEXTURE_2D_BINDING_EXT = 0x8069
pattern GL_TEXTURE_3D_BINDING_EXT = 0x806A
pattern GL_TEXTURE_PRIORITY_EXT = 0x8066
pattern GL_TEXTURE_RESIDENT_EXT = 0x8067