{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.IMG.BindlessTexture (
gl_IMG_bindless_texture
, glGetTextureHandleIMG
, glGetTextureSamplerHandleIMG
, glProgramUniformHandleui64IMG
, glProgramUniformHandleui64vIMG
, glUniformHandleui64IMG
, glUniformHandleui64vIMG
) 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
gl_IMG_bindless_texture :: Bool
gl_IMG_bindless_texture :: Bool
gl_IMG_bindless_texture = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_IMG_bindless_texture" Set [Char]
extensions
{-# NOINLINE gl_IMG_bindless_texture #-}
glGetTextureHandleIMG :: MonadIO m => GLuint -> m GLuint64
glGetTextureHandleIMG :: GLuint -> m GLuint64
glGetTextureHandleIMG = FunPtr (GLuint -> IO GLuint64) -> GLuint -> m GLuint64
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLuint64) -> GLuint -> m GLuint64
ffiuintIOuint64 FunPtr (GLuint -> IO GLuint64)
glGetTextureHandleIMGFunPtr
glGetTextureHandleIMGFunPtr :: FunPtr (GLuint -> IO GLuint64)
glGetTextureHandleIMGFunPtr :: FunPtr (GLuint -> IO GLuint64)
glGetTextureHandleIMGFunPtr = 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 "glGetTextureHandleIMG")
{-# NOINLINE glGetTextureHandleIMGFunPtr #-}
glGetTextureSamplerHandleIMG :: MonadIO m => GLuint -> GLuint -> m GLuint64
glGetTextureSamplerHandleIMG :: GLuint -> GLuint -> m GLuint64
glGetTextureSamplerHandleIMG = 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)
glGetTextureSamplerHandleIMGFunPtr
glGetTextureSamplerHandleIMGFunPtr :: FunPtr (GLuint -> GLuint -> IO GLuint64)
glGetTextureSamplerHandleIMGFunPtr :: FunPtr (GLuint -> GLuint -> IO GLuint64)
glGetTextureSamplerHandleIMGFunPtr = 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 "glGetTextureSamplerHandleIMG")
{-# NOINLINE glGetTextureSamplerHandleIMGFunPtr #-}
glProgramUniformHandleui64IMG :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64IMG :: GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64IMG = 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 ())
glProgramUniformHandleui64IMGFunPtr
glProgramUniformHandleui64IMGFunPtr :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
glProgramUniformHandleui64IMGFunPtr :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
glProgramUniformHandleui64IMGFunPtr = 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 "glProgramUniformHandleui64IMG")
{-# NOINLINE glProgramUniformHandleui64IMGFunPtr #-}
glProgramUniformHandleui64vIMG :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniformHandleui64vIMG :: GLuint -> GLint -> GLint -> Ptr GLuint64 -> m ()
glProgramUniformHandleui64vIMG = 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 ())
glProgramUniformHandleui64vIMGFunPtr
glProgramUniformHandleui64vIMGFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniformHandleui64vIMGFunPtr :: FunPtr (GLuint -> GLint -> GLint -> Ptr GLuint64 -> IO ())
glProgramUniformHandleui64vIMGFunPtr = 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 "glProgramUniformHandleui64vIMG")
{-# NOINLINE glProgramUniformHandleui64vIMGFunPtr #-}
glUniformHandleui64IMG :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64IMG :: GLint -> GLuint64 -> m ()
glUniformHandleui64IMG = FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> m ()
ffiintuint64IOV FunPtr (GLint -> GLuint64 -> IO ())
glUniformHandleui64IMGFunPtr
glUniformHandleui64IMGFunPtr :: FunPtr (GLint -> GLuint64 -> IO ())
glUniformHandleui64IMGFunPtr :: FunPtr (GLint -> GLuint64 -> IO ())
glUniformHandleui64IMGFunPtr = 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 "glUniformHandleui64IMG")
{-# NOINLINE glUniformHandleui64IMGFunPtr #-}
glUniformHandleui64vIMG :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniformHandleui64vIMG :: GLint -> GLint -> Ptr GLuint64 -> m ()
glUniformHandleui64vIMG = 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 ())
glUniformHandleui64vIMGFunPtr
glUniformHandleui64vIMGFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
glUniformHandleui64vIMGFunPtr :: FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
glUniformHandleui64vIMGFunPtr = 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 "glUniformHandleui64vIMG")
{-# NOINLINE glUniformHandleui64vIMGFunPtr #-}