Skip to content

Commit 2860c7c

Browse files
committed
Added support for ARB_get_program_binary.
1 parent 233700e commit 2860c7c

File tree

3 files changed

+56
-0
lines changed

3 files changed

+56
-0
lines changed

OpenGLRaw.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ library
6363
Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject,
6464
Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
6565
Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
66+
Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,
6667
Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,
6768
Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,
6869
Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,

src/Graphics/Rendering/OpenGL/Raw/ARB.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
8989
module Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader, -- #91
9090
module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3, -- #94
9191
module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility, -- #95
92+
module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary, -- #96
9293
module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters, -- #114
9394
module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader, -- #122
9495
module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility, -- #127
@@ -167,6 +168,7 @@ import Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
167168
import Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
168169
import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
169170
import Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
171+
import Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
170172
import Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
171173
import Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
172174
import Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{-# LANGUAGE ForeignFunctionInterface, CPP #-}
2+
--------------------------------------------------------------------------------
3+
-- |
4+
-- Module : Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
5+
-- Copyright : (c) Sven Panne 2013
6+
-- License : BSD3
7+
--
8+
-- Maintainer : Sven Panne <[email protected]>
9+
-- Stability : stable
10+
-- Portability : portable
11+
--
12+
-- All raw functions and tokens from the ARB_get_program_binary extension, see
13+
-- <http://www.opengl.org/registry/specs/ARB/get_program_binary.txt>.
14+
--
15+
--------------------------------------------------------------------------------
16+
17+
module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary (
18+
-- * Functions
19+
glGetProgramBinary, glProgramBinary, glProgramParameteri,
20+
21+
-- * Tokens
22+
gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
23+
gl_PROGRAM_BINARY_LENGTH,
24+
gl_NUM_PROGRAM_BINARY_FORMATS,
25+
gl_PROGRAM_BINARY_FORMATS
26+
27+
) where
28+
29+
import Foreign.C.Types
30+
import Foreign.Ptr
31+
import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
32+
import Graphics.Rendering.OpenGL.Raw.Core31.Types
33+
import Graphics.Rendering.OpenGL.Raw.Extensions
34+
35+
#include "HsOpenGLRaw.h"
36+
37+
extensionNameString :: String
38+
extensionNameString = "GL_ARB_get_program_binary"
39+
40+
EXTENSION_ENTRY(glGetProgramBinary,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
41+
EXTENSION_ENTRY(glProgramBinary,GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
42+
43+
gl_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
44+
gl_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257
45+
46+
gl_PROGRAM_BINARY_LENGTH :: GLenum
47+
gl_PROGRAM_BINARY_LENGTH = 0x8741
48+
49+
gl_NUM_PROGRAM_BINARY_FORMATS :: GLenum
50+
gl_NUM_PROGRAM_BINARY_FORMATS = 0x87FE
51+
52+
gl_PROGRAM_BINARY_FORMATS :: GLenum
53+
gl_PROGRAM_BINARY_FORMATS = 0x87FF

0 commit comments

Comments
 (0)