{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.ARB.BindlessTexture (
gl_ARB_bindless_texture
, glGetImageHandleARB
, glGetTextureHandleARB
, glGetTextureSamplerHandleARB
, glGetVertexAttribLui64vARB
, glIsImageHandleResidentARB
, glIsTextureHandleResidentARB
, glMakeImageHandleNonResidentARB
, glMakeImageHandleResidentARB
, glMakeTextureHandleNonResidentARB
, glMakeTextureHandleResidentARB
, glProgramUniformHandleui64ARB
, glProgramUniformHandleui64vARB
, glUniformHandleui64ARB
, glUniformHandleui64vARB
, glVertexAttribL1ui64ARB
, glVertexAttribL1ui64vARB
, pattern GL_UNSIGNED_INT64_ARB
) 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.Internal.Shared
import Graphics.GL.Types
import System.IO.Unsafe
gl_ARB_bindless_texture :: Bool
gl_ARB_bindless_texture :: Bool
gl_ARB_bindless_texture = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_ARB_bindless_texture" Set [Char]
extensions
{-# NOINLINE gl_ARB_bindless_texture #-}
glGetImageHandleARB :: MonadIO m => GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
glGetImageHandleARB :: GLuint -> GLint -> GLboolean -> GLint -> GLuint -> m GLuint64
glGetImageHandleARB = FunPtr
(GLuint -> GLint -> GLboolean -> GLint -> GLuint -> IO GLuint64)
-> GLuint -> GLint -> GLboolean -> GLint -> GLuint -> m GLuint64
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLuint -> GLint -> GLboolean -> GLint -> GLuint -> IO GLuint64)
-> GLuint -> GLint -> GLboolean -> GLint -> GLuint -> m GLuint64
ffiuintintbooleanintenumIOuint64 FunPtr
(GLuint -> GLint -> GLboolean -> GLint -> GLuint -> IO GLuint64)
glGetImageHandleARBFunPtr
glGetImageHandleARBFunPtr :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
glGetImageHandleARBFunPtr :: FunPtr
(GLuint -> GLint -> GLboolean -> GLint -> GLuint -> IO GLuint64)
glGetImageHandleARBFunPtr = IO
(FunPtr
(GLuint -> GLint -> GLboolean -> GLint -> GLuint -> IO GLuint64))
-> FunPtr
(GLuint -> GLint -> GLboolean -> GLint -> GLuint -> IO GLuint64)
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
(FunPtr
(GLuint -> GLint -> GLboolean -> GLint -> GLuint -> IO GLuint64))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetImageHandleARB")
{-# NOINLINE glGetImageHandleARBFunPtr #-}
glGetTextureHandleARB :: MonadIO m => GLuint -> m GLuint64
glGetTextureHandleARB :: GLuint -> m GLuint64
glGetTextureHandleARB = FunPtr (GLuint -> IO GLuint64) -> GLuint -> m GLuint64
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLuint64) -> GLuint -> m GLuint64
ffiuintIOuint64 FunPtr (GLuint -> IO GLuint64)
glGetTextureHandleARBFunPtr
glGetTextureHandleARBFunPtr :: FunPtr (GLuint -> IO GLuint64)
glGetTextureHandleARBFunPtr :: FunPtr (GLuint -> IO GLuint64)
glGetTextureHandleARBFunPtr = IO (FunPtr (GLuint -> IO GLuint64))
-> FunPtr (GLuint -> IO GLuint64)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO GLuint64))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetTextureHandleARB")
{-# NOINLINE glGetTextureHandleARBFunPtr #-}
glGetTextureSamplerHandleARB :: MonadIO m => GLuint -> GLuint -> m GLuint64
glGetTextureSamplerHandleARB :: GLuint -> GLuint -> m GLuint64
glGetTextureSamplerHandleARB = FunPtr (GLuint -> GLuint -> IO GLuint64)
-> GLuint -> GLuint -> m GLuint64
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> IO GLuint64)
-> GLuint -> GLuint -> m GLuint64
ffiuintuintIOuint64 FunPtr (GLuint -> GLuint -> IO GLuint64)
glGetTextureSamplerHandleARBFunPtr
glGetTextureSamplerHandleARBFunPtr :: FunPtr (GLuint -> GLuint -> IO GLuint64)
glGetTextureSamplerHandleARBFunPtr :: FunPtr (GLuint -> GLuint -> IO GLuint64)
glGetTextureSamplerHandleARBFunPtr = IO (FunPtr (GLuint -> GLuint -> IO GLuint64))
-> FunPtr (GLuint -> GLuint -> IO GLuint64)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> IO GLuint64))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetTextureSamplerHandleARB")
{-# NOINLINE glGetTextureSamplerHandleARBFunPtr #-}
glGetVertexAttribLui64vARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetVertexAttribLui64vARB :: GLuint -> GLuint -> Ptr GLuint64 -> m ()
glGetVertexAttribLui64vARB = FunPtr (GLuint -> GLuint -> Ptr GLuint64 -> IO ())
-> GLuint -> GLuint -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLuint64 -> IO ())
-> GLuint -> GLuint -> Ptr GLuint64 -> m ()
ffiuintenumPtruint64EXTIOV FunPtr (GLuint -> GLuint -> Ptr GLuint64 -> IO ())
glGetVertexAttribLui64vARBFunPtr
glGetVertexAttribLui64vARBFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetVertexAttribLui64vARBFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLuint64 -> IO ())
glGetVertexAttribLui64vARBFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVertexAttribLui64vARB")
{-# NOINLINE glGetVertexAttribLui64vARBFunPtr #-}
glIsImageHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glIsImageHandleResidentARB :: GLuint64 -> m GLboolean
glIsImageHandleResidentARB = FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> m GLboolean
ffiuint64IOboolean FunPtr (GLuint64 -> IO GLboolean)
glIsImageHandleResidentARBFunPtr
glIsImageHandleResidentARBFunPtr :: FunPtr (GLuint64 -> IO GLboolean)
glIsImageHandleResidentARBFunPtr :: FunPtr (GLuint64 -> IO GLboolean)
glIsImageHandleResidentARBFunPtr = IO (FunPtr (GLuint64 -> IO GLboolean))
-> FunPtr (GLuint64 -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint64 -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsImageHandleResidentARB")
{-# NOINLINE glIsImageHandleResidentARBFunPtr #-}
glIsTextureHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glIsTextureHandleResidentARB :: GLuint64 -> m GLboolean
glIsTextureHandleResidentARB = FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> m GLboolean
ffiuint64IOboolean FunPtr (GLuint64 -> IO GLboolean)
glIsTextureHandleResidentARBFunPtr
glIsTextureHandleResidentARBFunPtr :: FunPtr (GLuint64 -> IO GLboolean)
glIsTextureHandleResidentARBFunPtr :: FunPtr (GLuint64 -> IO GLboolean)
glIsTextureHandleResidentARBFunPtr = IO (FunPtr (GLuint64 -> IO GLboolean))
-> FunPtr (GLuint64 -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint64 -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsTextureHandleResidentARB")
{-# NOINLINE glIsTextureHandleResidentARBFunPtr #-}
glMakeImageHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeImageHandleNonResidentARB :: GLuint64 -> m ()
glMakeImageHandleNonResidentARB = FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
ffiuint64IOV FunPtr (GLuint64 -> IO ())
glMakeImageHandleNonResidentARBFunPtr
glMakeImageHandleNonResidentARBFunPtr :: FunPtr (GLuint64 -> IO ())
glMakeImageHandleNonResidentARBFunPtr :: FunPtr (GLuint64 -> IO ())
glMakeImageHandleNonResidentARBFunPtr = IO (FunPtr (GLuint64 -> IO ())) -> FunPtr (GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeImageHandleNonResidentARB")
{-# NOINLINE glMakeImageHandleNonResidentARBFunPtr #-}
glMakeImageHandleResidentARB :: MonadIO m => GLuint64 -> GLenum -> m ()
glMakeImageHandleResidentARB :: GLuint64 -> GLuint -> m ()
glMakeImageHandleResidentARB = FunPtr (GLuint64 -> GLuint -> IO ()) -> GLuint64 -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint64 -> GLuint -> IO ()) -> GLuint64 -> GLuint -> m ()
ffiuint64enumIOV FunPtr (GLuint64 -> GLuint -> IO ())
glMakeImageHandleResidentARBFunPtr
glMakeImageHandleResidentARBFunPtr :: FunPtr (GLuint64 -> GLenum -> IO ())
glMakeImageHandleResidentARBFunPtr :: FunPtr (GLuint64 -> GLuint -> IO ())
glMakeImageHandleResidentARBFunPtr = IO (FunPtr (GLuint64 -> GLuint -> IO ()))
-> FunPtr (GLuint64 -> GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint64 -> GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeImageHandleResidentARB")
{-# NOINLINE glMakeImageHandleResidentARBFunPtr #-}
glMakeTextureHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleNonResidentARB :: GLuint64 -> m ()
glMakeTextureHandleNonResidentARB = FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
ffiuint64IOV FunPtr (GLuint64 -> IO ())
glMakeTextureHandleNonResidentARBFunPtr
glMakeTextureHandleNonResidentARBFunPtr :: FunPtr (GLuint64 -> IO ())
glMakeTextureHandleNonResidentARBFunPtr :: FunPtr (GLuint64 -> IO ())
glMakeTextureHandleNonResidentARBFunPtr = IO (FunPtr (GLuint64 -> IO ())) -> FunPtr (GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeTextureHandleNonResidentARB")
{-# NOINLINE glMakeTextureHandleNonResidentARBFunPtr #-}
glMakeTextureHandleResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleResidentARB :: GLuint64 -> m ()
glMakeTextureHandleResidentARB = FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
ffiuint64IOV FunPtr (GLuint64 -> IO ())
glMakeTextureHandleResidentARBFunPtr
glMakeTextureHandleResidentARBFunPtr :: FunPtr (GLuint64 -> IO ())
glMakeTextureHandleResidentARBFunPtr :: FunPtr (GLuint64 -> IO ())
glMakeTextureHandleResidentARBFunPtr = IO (FunPtr (GLuint64 -> IO ())) -> FunPtr (GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeTextureHandleResidentARB")
{-# NOINLINE glMakeTextureHandleResidentARBFunPtr #-}
glProgramUniformHandleui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64ARB :: GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64ARB = FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
-> GLuint -> GLint -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
-> GLuint -> GLint -> GLuint64 -> m ()
ffiuintintuint64IOV FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
glProgramUniformHandleui64ARBFunPtr
glProgramUniformHandleui64ARBFunPtr :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
glProgramUniformHandleui64ARBFunPtr :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
glProgramUniformHandleui64ARBFunPtr = IO (FunPtr (GLuint -> GLint -> GLuint64 -> IO ()))
-> FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLint -> GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramUniformHandleui64ARB")
{-# NOINLINE glProgramUniformHandleui64ARBFunPtr #-}
glProgramUniformHandleui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniformHandleui64vARB :: GLuint -> GLint -> GLint -> Ptr GLuint64 -> m ()
glProgramUniformHandleui64vARB = FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ())
-> GLuint -> GLint -> GLint -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ())
-> GLuint -> GLint -> GLint -> Ptr GLuint64 -> m ()
ffiuintintsizeiPtruint64IOV FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ())
glProgramUniformHandleui64vARBFunPtr
glProgramUniformHandleui64vARBFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniformHandleui64vARBFunPtr :: FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ())
glProgramUniformHandleui64vARBFunPtr = IO (FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramUniformHandleui64vARB")
{-# NOINLINE glProgramUniformHandleui64vARBFunPtr #-}
glUniformHandleui64ARB :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64ARB :: GLint -> GLuint64 -> m ()
glUniformHandleui64ARB = FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> m ()
ffiintuint64IOV FunPtr (GLint -> GLuint64 -> IO ())
glUniformHandleui64ARBFunPtr
glUniformHandleui64ARBFunPtr :: FunPtr (GLint -> GLuint64 -> IO ())
glUniformHandleui64ARBFunPtr :: FunPtr (GLint -> GLuint64 -> IO ())
glUniformHandleui64ARBFunPtr = IO (FunPtr (GLint -> GLuint64 -> IO ()))
-> FunPtr (GLint -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLint -> GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glUniformHandleui64ARB")
{-# NOINLINE glUniformHandleui64ARBFunPtr #-}
glUniformHandleui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniformHandleui64vARB :: GLint -> GLint -> Ptr GLuint64 -> m ()
glUniformHandleui64vARB = FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
-> GLint -> GLint -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
-> GLint -> GLint -> Ptr GLuint64 -> m ()
ffiintsizeiPtruint64IOV FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
glUniformHandleui64vARBFunPtr
glUniformHandleui64vARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
glUniformHandleui64vARBFunPtr :: FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
glUniformHandleui64vARBFunPtr = IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glUniformHandleui64vARB")
{-# NOINLINE glUniformHandleui64vARBFunPtr #-}
glVertexAttribL1ui64ARB :: MonadIO m => GLuint -> GLuint64EXT -> m ()
glVertexAttribL1ui64ARB :: GLuint -> GLuint64 -> m ()
glVertexAttribL1ui64ARB = FunPtr (GLuint -> GLuint64 -> IO ()) -> GLuint -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint64 -> IO ()) -> GLuint -> GLuint64 -> m ()
ffiuintuint64EXTIOV FunPtr (GLuint -> GLuint64 -> IO ())
glVertexAttribL1ui64ARBFunPtr
glVertexAttribL1ui64ARBFunPtr :: FunPtr (GLuint -> GLuint64EXT -> IO ())
glVertexAttribL1ui64ARBFunPtr :: FunPtr (GLuint -> GLuint64 -> IO ())
glVertexAttribL1ui64ARBFunPtr = IO (FunPtr (GLuint -> GLuint64 -> IO ()))
-> FunPtr (GLuint -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribL1ui64ARB")
{-# NOINLINE glVertexAttribL1ui64ARBFunPtr #-}
glVertexAttribL1ui64vARB :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL1ui64vARB :: GLuint -> Ptr GLuint64 -> m ()
glVertexAttribL1ui64vARB = FunPtr (GLuint -> Ptr GLuint64 -> IO ())
-> GLuint -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLuint64 -> IO ())
-> GLuint -> Ptr GLuint64 -> m ()
ffiuintPtruint64EXTIOV FunPtr (GLuint -> Ptr GLuint64 -> IO ())
glVertexAttribL1ui64vARBFunPtr
glVertexAttribL1ui64vARBFunPtr :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
glVertexAttribL1ui64vARBFunPtr :: FunPtr (GLuint -> Ptr GLuint64 -> IO ())
glVertexAttribL1ui64vARBFunPtr = IO (FunPtr (GLuint -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLuint -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribL1ui64vARB")
{-# NOINLINE glVertexAttribL1ui64vARBFunPtr #-}