{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.NV.ShaderBufferLoad (
gl_NV_shader_buffer_load
, glGetBufferParameterui64vNV
, glGetIntegerui64vNV
, glGetNamedBufferParameterui64vNV
, glGetUniformui64vNV
, glIsBufferResidentNV
, glIsNamedBufferResidentNV
, glMakeBufferNonResidentNV
, glMakeBufferResidentNV
, glMakeNamedBufferNonResidentNV
, glMakeNamedBufferResidentNV
, glProgramUniformui64NV
, glProgramUniformui64vNV
, glUniformui64NV
, glUniformui64vNV
, pattern GL_BUFFER_GPU_ADDRESS_NV
, pattern GL_GPU_ADDRESS_NV
, pattern GL_MAX_SHADER_BUFFER_ADDRESS_NV
) 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_NV_shader_buffer_load :: Bool
gl_NV_shader_buffer_load :: Bool
gl_NV_shader_buffer_load = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_NV_shader_buffer_load" Set [Char]
extensions
{-# NOINLINE gl_NV_shader_buffer_load #-}
glGetBufferParameterui64vNV :: MonadIO m => GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
glGetBufferParameterui64vNV :: GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
glGetBufferParameterui64vNV = FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
ffienumenumPtruint64EXTIOV FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetBufferParameterui64vNVFunPtr
glGetBufferParameterui64vNVFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetBufferParameterui64vNVFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetBufferParameterui64vNVFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetBufferParameterui64vNV")
{-# NOINLINE glGetBufferParameterui64vNVFunPtr #-}
glGetIntegerui64vNV :: MonadIO m => GLenum -> Ptr GLuint64EXT -> m ()
glGetIntegerui64vNV :: GLenum -> Ptr GLuint64EXT -> m ()
glGetIntegerui64vNV = FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> Ptr GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> Ptr GLuint64EXT -> m ()
ffienumPtruint64EXTIOV FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
glGetIntegerui64vNVFunPtr
glGetIntegerui64vNVFunPtr :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
glGetIntegerui64vNVFunPtr :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
glGetIntegerui64vNVFunPtr = IO (FunPtr (GLenum -> Ptr GLuint64EXT -> IO ()))
-> FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> Ptr GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetIntegerui64vNV")
{-# NOINLINE glGetIntegerui64vNVFunPtr #-}
glGetNamedBufferParameterui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetNamedBufferParameterui64vNV :: GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
glGetNamedBufferParameterui64vNV = FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
ffiuintenumPtruint64EXTIOV FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetNamedBufferParameterui64vNVFunPtr
glGetNamedBufferParameterui64vNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetNamedBufferParameterui64vNVFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetNamedBufferParameterui64vNVFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetNamedBufferParameterui64vNV")
{-# NOINLINE glGetNamedBufferParameterui64vNVFunPtr #-}
glIsBufferResidentNV :: MonadIO m => GLenum -> m GLboolean
glIsBufferResidentNV :: GLenum -> m GLboolean
glIsBufferResidentNV = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffienumIOboolean FunPtr (GLenum -> IO GLboolean)
glIsBufferResidentNVFunPtr
glIsBufferResidentNVFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsBufferResidentNVFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsBufferResidentNVFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsBufferResidentNV")
{-# NOINLINE glIsBufferResidentNVFunPtr #-}
glIsNamedBufferResidentNV :: MonadIO m => GLuint -> m GLboolean
glIsNamedBufferResidentNV :: GLenum -> m GLboolean
glIsNamedBufferResidentNV = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsNamedBufferResidentNVFunPtr
glIsNamedBufferResidentNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsNamedBufferResidentNVFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsNamedBufferResidentNVFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsNamedBufferResidentNV")
{-# NOINLINE glIsNamedBufferResidentNVFunPtr #-}
glMakeBufferNonResidentNV :: MonadIO m => GLenum -> m ()
glMakeBufferNonResidentNV :: GLenum -> m ()
glMakeBufferNonResidentNV = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glMakeBufferNonResidentNVFunPtr
glMakeBufferNonResidentNVFunPtr :: FunPtr (GLenum -> IO ())
glMakeBufferNonResidentNVFunPtr :: FunPtr (GLenum -> IO ())
glMakeBufferNonResidentNVFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeBufferNonResidentNV")
{-# NOINLINE glMakeBufferNonResidentNVFunPtr #-}
glMakeBufferResidentNV :: MonadIO m => GLenum -> GLenum -> m ()
glMakeBufferResidentNV :: GLenum -> GLenum -> m ()
glMakeBufferResidentNV = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glMakeBufferResidentNVFunPtr
glMakeBufferResidentNVFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glMakeBufferResidentNVFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glMakeBufferResidentNVFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeBufferResidentNV")
{-# NOINLINE glMakeBufferResidentNVFunPtr #-}
glMakeNamedBufferNonResidentNV :: MonadIO m => GLuint -> m ()
glMakeNamedBufferNonResidentNV :: GLenum -> m ()
glMakeNamedBufferNonResidentNV = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glMakeNamedBufferNonResidentNVFunPtr
glMakeNamedBufferNonResidentNVFunPtr :: FunPtr (GLuint -> IO ())
glMakeNamedBufferNonResidentNVFunPtr :: FunPtr (GLenum -> IO ())
glMakeNamedBufferNonResidentNVFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeNamedBufferNonResidentNV")
{-# NOINLINE glMakeNamedBufferNonResidentNVFunPtr #-}
glMakeNamedBufferResidentNV :: MonadIO m => GLuint -> GLenum -> m ()
glMakeNamedBufferResidentNV :: GLenum -> GLenum -> m ()
glMakeNamedBufferResidentNV = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintenumIOV FunPtr (GLenum -> GLenum -> IO ())
glMakeNamedBufferResidentNVFunPtr
glMakeNamedBufferResidentNVFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glMakeNamedBufferResidentNVFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glMakeNamedBufferResidentNVFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMakeNamedBufferResidentNV")
{-# NOINLINE glMakeNamedBufferResidentNVFunPtr #-}
glProgramUniformui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniformui64NV :: GLenum -> GLint -> GLuint64EXT -> m ()
glProgramUniformui64NV = FunPtr (GLenum -> GLint -> GLuint64EXT -> IO ())
-> GLenum -> GLint -> GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLuint64EXT -> IO ())
-> GLenum -> GLint -> GLuint64EXT -> m ()
ffiuintintuint64EXTIOV FunPtr (GLenum -> GLint -> GLuint64EXT -> IO ())
glProgramUniformui64NVFunPtr
glProgramUniformui64NVFunPtr :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
glProgramUniformui64NVFunPtr :: FunPtr (GLenum -> GLint -> GLuint64EXT -> IO ())
glProgramUniformui64NVFunPtr = IO (FunPtr (GLenum -> GLint -> GLuint64EXT -> IO ()))
-> FunPtr (GLenum -> GLint -> GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLint -> GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramUniformui64NV")
{-# NOINLINE glProgramUniformui64NVFunPtr #-}
glProgramUniformui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniformui64vNV :: GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> m ()
glProgramUniformui64vNV = FunPtr (GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> m ()
ffiuintintsizeiPtruint64EXTIOV FunPtr (GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> IO ())
glProgramUniformui64vNVFunPtr
glProgramUniformui64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glProgramUniformui64vNVFunPtr :: FunPtr (GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> IO ())
glProgramUniformui64vNVFunPtr = IO (FunPtr (GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> IO ()))
-> FunPtr (GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
(FunPtr (GLenum -> GLint -> GLint -> Ptr GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramUniformui64vNV")
{-# NOINLINE glProgramUniformui64vNVFunPtr #-}
glUniformui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniformui64NV :: GLint -> GLuint64EXT -> m ()
glUniformui64NV = FunPtr (GLint -> GLuint64EXT -> IO ())
-> GLint -> GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLuint64EXT -> IO ())
-> GLint -> GLuint64EXT -> m ()
ffiintuint64EXTIOV FunPtr (GLint -> GLuint64EXT -> IO ())
glUniformui64NVFunPtr
glUniformui64NVFunPtr :: FunPtr (GLint -> GLuint64EXT -> IO ())
glUniformui64NVFunPtr :: FunPtr (GLint -> GLuint64EXT -> IO ())
glUniformui64NVFunPtr = IO (FunPtr (GLint -> GLuint64EXT -> IO ()))
-> FunPtr (GLint -> GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLint -> GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glUniformui64NV")
{-# NOINLINE glUniformui64NVFunPtr #-}
glUniformui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniformui64vNV :: GLint -> GLint -> Ptr GLuint64EXT -> m ()
glUniformui64vNV = FunPtr (GLint -> GLint -> Ptr GLuint64EXT -> IO ())
-> GLint -> GLint -> Ptr GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLint -> Ptr GLuint64EXT -> IO ())
-> GLint -> GLint -> Ptr GLuint64EXT -> m ()
ffiintsizeiPtruint64EXTIOV FunPtr (GLint -> GLint -> Ptr GLuint64EXT -> IO ())
glUniformui64vNVFunPtr
glUniformui64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glUniformui64vNVFunPtr :: FunPtr (GLint -> GLint -> Ptr GLuint64EXT -> IO ())
glUniformui64vNVFunPtr = IO (FunPtr (GLint -> GLint -> Ptr GLuint64EXT -> IO ()))
-> FunPtr (GLint -> GLint -> Ptr GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLint -> GLint -> Ptr GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glUniformui64vNV")
{-# NOINLINE glUniformui64vNVFunPtr #-}
pattern $bGL_BUFFER_GPU_ADDRESS_NV :: a
$mGL_BUFFER_GPU_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D
pattern $bGL_GPU_ADDRESS_NV :: a
$mGL_GPU_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GPU_ADDRESS_NV = 0x8F34
pattern $bGL_MAX_SHADER_BUFFER_ADDRESS_NV :: a
$mGL_MAX_SHADER_BUFFER_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35