-- This file was automatically generated. {-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Ext.NV.ShaderBufferLoad ( -- * Extension Support gl_NV_shader_buffer_load -- * 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 -- | Checks that the extension is available. gl_NV_shader_buffer_load :: Bool gl_NV_shader_buffer_load = member "GL_NV_shader_buffer_load" extensions {-# NOINLINE gl_NV_shader_buffer_load #-} -- | Usage: @'glGetBufferParameterui64vNV' target pname params@ -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetBufferParameterui64vNV :: MonadIO m => GLenum -> GLenum -> Ptr GLuint64EXT -> m () glGetBufferParameterui64vNV = ffienumenumPtruint64EXTIOV glGetBufferParameterui64vNVFunPtr glGetBufferParameterui64vNVFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()) glGetBufferParameterui64vNVFunPtr = unsafePerformIO (getProcAddress "glGetBufferParameterui64vNV") {-# NOINLINE glGetBufferParameterui64vNVFunPtr #-} -- | Usage: @'glGetIntegerui64vNV' value result@ -- -- The length of @result@ should be @COMPSIZE(value)@. glGetIntegerui64vNV :: MonadIO m => GLenum -> Ptr GLuint64EXT -> m () glGetIntegerui64vNV = ffienumPtruint64EXTIOV glGetIntegerui64vNVFunPtr glGetIntegerui64vNVFunPtr :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ()) glGetIntegerui64vNVFunPtr = unsafePerformIO (getProcAddress "glGetIntegerui64vNV") {-# NOINLINE glGetIntegerui64vNVFunPtr #-} -- | Usage: @'glGetNamedBufferParameterui64vNV' buffer pname params@ -- -- The parameter @pname@ is a @VertexBufferObjectParameter@. -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetNamedBufferParameterui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m () glGetNamedBufferParameterui64vNV = ffiuintenumPtruint64EXTIOV glGetNamedBufferParameterui64vNVFunPtr glGetNamedBufferParameterui64vNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()) glGetNamedBufferParameterui64vNVFunPtr = unsafePerformIO (getProcAddress "glGetNamedBufferParameterui64vNV") {-# NOINLINE glGetNamedBufferParameterui64vNVFunPtr #-} -- | Usage: @'glIsBufferResidentNV' target@ glIsBufferResidentNV :: MonadIO m => GLenum -> m GLboolean glIsBufferResidentNV = ffienumIOboolean glIsBufferResidentNVFunPtr glIsBufferResidentNVFunPtr :: FunPtr (GLenum -> IO GLboolean) glIsBufferResidentNVFunPtr = unsafePerformIO (getProcAddress "glIsBufferResidentNV") {-# NOINLINE glIsBufferResidentNVFunPtr #-} -- | Usage: @'glIsNamedBufferResidentNV' buffer@ glIsNamedBufferResidentNV :: MonadIO m => GLuint -> m GLboolean glIsNamedBufferResidentNV = ffiuintIOboolean glIsNamedBufferResidentNVFunPtr glIsNamedBufferResidentNVFunPtr :: FunPtr (GLuint -> IO GLboolean) glIsNamedBufferResidentNVFunPtr = unsafePerformIO (getProcAddress "glIsNamedBufferResidentNV") {-# NOINLINE glIsNamedBufferResidentNVFunPtr #-} -- | Usage: @'glMakeBufferNonResidentNV' target@ glMakeBufferNonResidentNV :: MonadIO m => GLenum -> m () glMakeBufferNonResidentNV = ffienumIOV glMakeBufferNonResidentNVFunPtr glMakeBufferNonResidentNVFunPtr :: FunPtr (GLenum -> IO ()) glMakeBufferNonResidentNVFunPtr = unsafePerformIO (getProcAddress "glMakeBufferNonResidentNV") {-# NOINLINE glMakeBufferNonResidentNVFunPtr #-} -- | Usage: @'glMakeBufferResidentNV' target access@ glMakeBufferResidentNV :: MonadIO m => GLenum -> GLenum -> m () glMakeBufferResidentNV = ffienumenumIOV glMakeBufferResidentNVFunPtr glMakeBufferResidentNVFunPtr :: FunPtr (GLenum -> GLenum -> IO ()) glMakeBufferResidentNVFunPtr = unsafePerformIO (getProcAddress "glMakeBufferResidentNV") {-# NOINLINE glMakeBufferResidentNVFunPtr #-} -- | Usage: @'glMakeNamedBufferNonResidentNV' buffer@ glMakeNamedBufferNonResidentNV :: MonadIO m => GLuint -> m () glMakeNamedBufferNonResidentNV = ffiuintIOV glMakeNamedBufferNonResidentNVFunPtr glMakeNamedBufferNonResidentNVFunPtr :: FunPtr (GLuint -> IO ()) glMakeNamedBufferNonResidentNVFunPtr = unsafePerformIO (getProcAddress "glMakeNamedBufferNonResidentNV") {-# NOINLINE glMakeNamedBufferNonResidentNVFunPtr #-} -- | Usage: @'glMakeNamedBufferResidentNV' buffer access@ glMakeNamedBufferResidentNV :: MonadIO m => GLuint -> GLenum -> m () glMakeNamedBufferResidentNV = ffiuintenumIOV glMakeNamedBufferResidentNVFunPtr glMakeNamedBufferResidentNVFunPtr :: FunPtr (GLuint -> GLenum -> IO ()) glMakeNamedBufferResidentNVFunPtr = unsafePerformIO (getProcAddress "glMakeNamedBufferResidentNV") {-# NOINLINE glMakeNamedBufferResidentNVFunPtr #-} -- | Usage: @'glProgramUniformui64NV' program location value@ glProgramUniformui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m () glProgramUniformui64NV = ffiuintintuint64EXTIOV glProgramUniformui64NVFunPtr glProgramUniformui64NVFunPtr :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ()) glProgramUniformui64NVFunPtr = unsafePerformIO (getProcAddress "glProgramUniformui64NV") {-# NOINLINE glProgramUniformui64NVFunPtr #-} -- | Usage: @'glProgramUniformui64vNV' program location count value@ -- -- The length of @value@ should be @count@. glProgramUniformui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m () glProgramUniformui64vNV = ffiuintintsizeiPtruint64EXTIOV glProgramUniformui64vNVFunPtr glProgramUniformui64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) glProgramUniformui64vNVFunPtr = unsafePerformIO (getProcAddress "glProgramUniformui64vNV") {-# NOINLINE glProgramUniformui64vNVFunPtr #-} -- | Usage: @'glUniformui64NV' location value@ glUniformui64NV :: MonadIO m => GLint -> GLuint64EXT -> m () glUniformui64NV = ffiintuint64EXTIOV glUniformui64NVFunPtr glUniformui64NVFunPtr :: FunPtr (GLint -> GLuint64EXT -> IO ()) glUniformui64NVFunPtr = unsafePerformIO (getProcAddress "glUniformui64NV") {-# NOINLINE glUniformui64NVFunPtr #-} -- | Usage: @'glUniformui64vNV' location count value@ -- -- The length of @value@ should be @count*1@. glUniformui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m () glUniformui64vNV = ffiintsizeiPtruint64EXTIOV glUniformui64vNVFunPtr glUniformui64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) glUniformui64vNVFunPtr = unsafePerformIO (getProcAddress "glUniformui64vNV") {-# NOINLINE glUniformui64vNVFunPtr #-} pattern GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D pattern GL_GPU_ADDRESS_NV = 0x8F34 pattern GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35