OpenGLRaw 2.1.0.0 → 2.2.0.0
raw patch · 12 files changed
+63/−29 lines, 12 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Graphics.Rendering.OpenGL.Raw.Compatibility43: makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
+ Graphics.Rendering.OpenGL.Raw.Compatibility43: type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()
+ Graphics.Rendering.OpenGL.Raw.Compatibility44: makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
+ Graphics.Rendering.OpenGL.Raw.Compatibility44: type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()
+ Graphics.Rendering.OpenGL.Raw.Compatibility45: makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
+ Graphics.Rendering.OpenGL.Raw.Compatibility45: type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()
+ Graphics.Rendering.OpenGL.Raw.Core43: makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
+ Graphics.Rendering.OpenGL.Raw.Core43: type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()
+ Graphics.Rendering.OpenGL.Raw.Core44: makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
+ Graphics.Rendering.OpenGL.Raw.Core44: type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()
+ Graphics.Rendering.OpenGL.Raw.Core45: makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
+ Graphics.Rendering.OpenGL.Raw.Core45: type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()
+ Graphics.Rendering.OpenGL.Raw.Types: CChar :: Int8 -> CChar
+ Graphics.Rendering.OpenGL.Raw.Types: CDouble :: Double -> CDouble
+ Graphics.Rendering.OpenGL.Raw.Types: CFloat :: Float -> CFloat
+ Graphics.Rendering.OpenGL.Raw.Types: CInt :: Int32 -> CInt
+ Graphics.Rendering.OpenGL.Raw.Types: CPtrdiff :: Int64 -> CPtrdiff
+ Graphics.Rendering.OpenGL.Raw.Types: CSChar :: Int8 -> CSChar
+ Graphics.Rendering.OpenGL.Raw.Types: CShort :: Int16 -> CShort
+ Graphics.Rendering.OpenGL.Raw.Types: CUChar :: Word8 -> CUChar
+ Graphics.Rendering.OpenGL.Raw.Types: CUInt :: Word32 -> CUInt
+ Graphics.Rendering.OpenGL.Raw.Types: CUShort :: Word16 -> CUShort
+ Graphics.Rendering.OpenGL.Raw.Types: data FunPtr a :: * -> *
+ Graphics.Rendering.OpenGL.Raw.Types: data Int64 :: *
+ Graphics.Rendering.OpenGL.Raw.Types: data Ptr a :: * -> *
+ Graphics.Rendering.OpenGL.Raw.Types: data Word64 :: *
+ Graphics.Rendering.OpenGL.Raw.Types: makeGLDEBUGPROCARB :: GLDEBUGPROCARBFunc -> IO (FunPtr GLDEBUGPROCARBFunc)
+ Graphics.Rendering.OpenGL.Raw.Types: makeGLDEBUGPROCKHR :: GLDEBUGPROCKHRFunc -> IO (FunPtr GLDEBUGPROCKHRFunc)
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CChar :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CDouble :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CFloat :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CInt :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CPtrdiff :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CSChar :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CShort :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CUChar :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CUInt :: *
+ Graphics.Rendering.OpenGL.Raw.Types: newtype CUShort :: *
+ Graphics.Rendering.OpenGL.Raw.Types: type GLDEBUGPROCARBFunc = GLDEBUGPROCFunc
+ Graphics.Rendering.OpenGL.Raw.Types: type GLDEBUGPROCKHRFunc = GLDEBUGPROCFunc
Files
- OpenGLRaw.cabal +3/−4
- RegistryProcessor/src/Main.hs +17/−3
- src/Graphics/Rendering/OpenGL/Raw/ARB.hs +0/−2
- src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs +0/−17
- src/Graphics/Rendering/OpenGL/Raw/Compatibility43.hs +2/−0
- src/Graphics/Rendering/OpenGL/Raw/Compatibility44.hs +2/−0
- src/Graphics/Rendering/OpenGL/Raw/Compatibility45.hs +2/−0
- src/Graphics/Rendering/OpenGL/Raw/Core43.hs +2/−0
- src/Graphics/Rendering/OpenGL/Raw/Core44.hs +2/−0
- src/Graphics/Rendering/OpenGL/Raw/Core45.hs +2/−0
- src/Graphics/Rendering/OpenGL/Raw/Functions.hs too large to diff
- src/Graphics/Rendering/OpenGL/Raw/Types.hs +31/−3
OpenGLRaw.cabal view
@@ -1,8 +1,8 @@ name: OpenGLRaw-version: 2.1.0.0+version: 2.2.0.0 synopsis: A raw binding for the OpenGL graphics system description:- OpenGLRaw is a raw Haskell binding for the OpenGL 3.2 graphics system and+ OpenGLRaw is a raw Haskell binding for the OpenGL 4.5 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw offers access to all necessary functions, tokens and types plus a general facility for loading@@ -97,7 +97,6 @@ Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture Graphics.Rendering.OpenGL.Raw.ARB.ClipControl Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat- Graphics.Rendering.OpenGL.Raw.ARB.Compatibility Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize@@ -577,7 +576,7 @@ include-dirs: include build-depends: base >= 3 && < 5 default-language: Haskell2010- ghc-options: -Wall -O2+ ghc-options: -Wall other-extensions: CPP if os(windows) && flag(UseNativeWindowsLibraries) if arch(i386)
RegistryProcessor/src/Main.hs view
@@ -62,7 +62,6 @@ SI.hPutStrLn h . separate unCommandName . M.keys . commands $registry SI.hPutStrLn h ") where" SI.hPutStrLn h ""- SI.hPutStrLn h "import Foreign.C.Types" SI.hPutStrLn h "import Foreign.Marshal.Error ( throwIf )" SI.hPutStrLn h "import Foreign.Ptr ( Ptr, FunPtr, nullFunPtr )" SI.hPutStrLn h "import System.IO.Unsafe ( unsafePerformIO )"@@ -168,7 +167,9 @@ (extensionName e, [ conditionalModificationModification cm | cm <- extensionsRequireRemove e- , api `matches` conditionalModificationAPI cm ])+ , api `matches` conditionalModificationAPI cm+ -- ARB_compatibility has an empty "require" element only+ , not . null . modificationInterfaceElements . conditionalModificationModification $ cm ]) supports :: API -> Maybe [API] -> Bool _ `supports` Nothing = True@@ -241,7 +242,20 @@ | otherwise = (ts', es, cs) where (ts, es, cs) = replay api version profile registry (_, es11, _) = replay api (read "1.1") profile registry- ts' = S.toList . S.unions $ S.fromList ts : map referencedTypes cs+ ts' = S.toList . addFuncsAndMakes . S.unions $ S.fromList ts : map referencedTypes cs++-- For debug callbacks, we want to export the Haskell types and their creators, too.+addFuncsAndMakes :: S.Set TypeName -> S.Set TypeName+addFuncsAndMakes =+ flip (foldr addFuncAndMake) [+ "GLDEBUGPROC",+ "GLDEBUGPROCAMD",+ "GLDEBUGPROCARB",+ "GLDEBUGPROCKHR" ]+ where addFuncAndMake t ts+ | TypeName t `S.member` ts =+ ts `S.union` S.fromList (map TypeName [ t ++ "Func", "make" ++ t ])+ | otherwise = ts -- Here is the heart of the feature construction logic: Chronologically replay -- the whole version history for the given API/version/profile triple.
src/Graphics/Rendering/OpenGL/Raw/ARB.hs view
@@ -22,7 +22,6 @@ module Graphics.Rendering.OpenGL.Raw.ARB.CLEvent, module Graphics.Rendering.OpenGL.Raw.ARB.ClipControl, module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,- module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility, module Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage, module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader, module Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize,@@ -158,7 +157,6 @@ import Graphics.Rendering.OpenGL.Raw.ARB.CLEvent import Graphics.Rendering.OpenGL.Raw.ARB.ClipControl import Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility import Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage import Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader import Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize
− src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs
@@ -1,17 +0,0 @@------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.OpenGL.Raw.ARB.Compatibility--- Copyright : (c) Sven Panne 2015--- License : BSD3------ Maintainer : Sven Panne <svenpanne@gmail.com>--- Stability : stable--- Portability : portable------ The <https://www.opengl.org/registry/specs/ARB/compatibility.txt ARB_compatibility> extension.--------------------------------------------------------------------------------------module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility (-) where-
src/Graphics/Rendering/OpenGL/Raw/Compatibility43.hs view
@@ -13,6 +13,7 @@ module Graphics.Rendering.OpenGL.Raw.Compatibility43 ( -- * Types GLDEBUGPROC,+ GLDEBUGPROCFunc, GLbitfield, GLboolean, GLbyte,@@ -35,6 +36,7 @@ GLuint64, GLushort, GLvoid,+ makeGLDEBUGPROC, -- * Enums gl_2D, gl_2_BYTES,
src/Graphics/Rendering/OpenGL/Raw/Compatibility44.hs view
@@ -13,6 +13,7 @@ module Graphics.Rendering.OpenGL.Raw.Compatibility44 ( -- * Types GLDEBUGPROC,+ GLDEBUGPROCFunc, GLbitfield, GLboolean, GLbyte,@@ -35,6 +36,7 @@ GLuint64, GLushort, GLvoid,+ makeGLDEBUGPROC, -- * Enums gl_2D, gl_2_BYTES,
src/Graphics/Rendering/OpenGL/Raw/Compatibility45.hs view
@@ -13,6 +13,7 @@ module Graphics.Rendering.OpenGL.Raw.Compatibility45 ( -- * Types GLDEBUGPROC,+ GLDEBUGPROCFunc, GLbitfield, GLboolean, GLbyte,@@ -35,6 +36,7 @@ GLuint64, GLushort, GLvoid,+ makeGLDEBUGPROC, -- * Enums gl_2D, gl_2_BYTES,
src/Graphics/Rendering/OpenGL/Raw/Core43.hs view
@@ -13,6 +13,7 @@ module Graphics.Rendering.OpenGL.Raw.Core43 ( -- * Types GLDEBUGPROC,+ GLDEBUGPROCFunc, GLbitfield, GLboolean, GLbyte,@@ -35,6 +36,7 @@ GLuint64, GLushort, GLvoid,+ makeGLDEBUGPROC, -- * Enums gl_ACTIVE_ATOMIC_COUNTER_BUFFERS, gl_ACTIVE_ATTRIBUTES,
src/Graphics/Rendering/OpenGL/Raw/Core44.hs view
@@ -13,6 +13,7 @@ module Graphics.Rendering.OpenGL.Raw.Core44 ( -- * Types GLDEBUGPROC,+ GLDEBUGPROCFunc, GLbitfield, GLboolean, GLbyte,@@ -35,6 +36,7 @@ GLuint64, GLushort, GLvoid,+ makeGLDEBUGPROC, -- * Enums gl_ACTIVE_ATOMIC_COUNTER_BUFFERS, gl_ACTIVE_ATTRIBUTES,
src/Graphics/Rendering/OpenGL/Raw/Core45.hs view
@@ -13,6 +13,7 @@ module Graphics.Rendering.OpenGL.Raw.Core45 ( -- * Types GLDEBUGPROC,+ GLDEBUGPROCFunc, GLbitfield, GLboolean, GLbyte,@@ -35,6 +36,7 @@ GLuint64, GLushort, GLvoid,+ makeGLDEBUGPROC, -- * Enums gl_ACTIVE_ATOMIC_COUNTER_BUFFERS, gl_ACTIVE_ATTRIBUTES,
src/Graphics/Rendering/OpenGL/Raw/Functions.hs view
file too large to diff
src/Graphics/Rendering/OpenGL/Raw/Types.hs view
@@ -49,14 +49,32 @@ GLhalfARB, GLhalfNV, GLDEBUGPROCAMD, GLDEBUGPROCAMDFunc, makeGLDEBUGPROCAMD,- GLDEBUGPROCARB,- GLDEBUGPROCKHR,+ GLDEBUGPROCARB, GLDEBUGPROCARBFunc, makeGLDEBUGPROCARB,+ GLDEBUGPROCKHR, GLDEBUGPROCKHRFunc, makeGLDEBUGPROCKHR, -- * Types from various extensions. GLclampx, GLhandleARB, GLvdpauSurfaceNV,- GLeglImageOES+ GLeglImageOES,++ -- * Re-exports+ CChar(..),+ CDouble(..),+ CFloat(..),+ CInt(..),+ CPtrdiff(..),+ CSChar(..),+ CShort(..),+ CUChar(..),+ CUInt(..),+ CUShort(..),++ Int64(..),+ Word64(..),++ FunPtr(..),+ Ptr(..) ) where import Data.Int@@ -190,7 +208,17 @@ type GLDEBUGPROCARB = GLDEBUGPROC +type GLDEBUGPROCARBFunc = GLDEBUGPROCFunc++makeGLDEBUGPROCARB :: GLDEBUGPROCARBFunc -> IO (FunPtr GLDEBUGPROCARBFunc)+makeGLDEBUGPROCARB = makeGLDEBUGPROC+ type GLDEBUGPROCKHR = GLDEBUGPROC++type GLDEBUGPROCKHRFunc = GLDEBUGPROCFunc++makeGLDEBUGPROCKHR :: GLDEBUGPROCKHRFunc -> IO (FunPtr GLDEBUGPROCKHRFunc)+makeGLDEBUGPROCKHR = makeGLDEBUGPROC type GLclampx = CInt -- NOTE: OpenGL ES uses khronos_int32_t for this.