Skip to content

Commit b362a99

Browse files
committed
Added support for ARB_draw_indirect.
1 parent 29e44a7 commit b362a99

File tree

3 files changed

+46
-0
lines changed

3 files changed

+46
-0
lines changed

OpenGLRaw.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ library
5353
Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers,
5454
Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,
5555
Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
56+
Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect,
5657
Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
5758
Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility,
5859
Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility,

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
8585
module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2, -- #80
8686
-- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderBitEncoding, -- #82
8787
module Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery, -- #85
88+
module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect, -- #87
8889
module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3, -- #94
8990
module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility, -- #95
9091
module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters, -- #114
@@ -160,6 +161,7 @@ import Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
160161
import Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
161162
import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
162163
import Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
164+
import Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
163165
import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
164166
import Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
165167
import Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{-# LANGUAGE ForeignFunctionInterface, CPP #-}
2+
--------------------------------------------------------------------------------
3+
-- |
4+
-- Module : Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
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_draw_indirect extension, see
13+
-- <http://www.opengl.org/registry/specs/ARB/draw_indirect.txt>.
14+
--
15+
--------------------------------------------------------------------------------
16+
17+
module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect (
18+
-- * Functions
19+
glDrawArraysIndirect, glDrawElementsIndirect,
20+
21+
-- * Tokens
22+
gl_DRAW_INDIRECT_BUFFER, gl_DRAW_INDIRECT_BUFFER_BINDING
23+
24+
) where
25+
26+
import Foreign.C.Types
27+
import Foreign.Ptr
28+
import Graphics.Rendering.OpenGL.Raw.Extensions
29+
import Graphics.Rendering.OpenGL.Raw.Core31.Types
30+
31+
#include "HsOpenGLRaw.h"
32+
33+
extensionNameString :: String
34+
extensionNameString = "GL_ARB_draw_indirect"
35+
36+
EXTENSION_ENTRY(glDrawArraysIndirect,GLenum -> Ptr a -> IO ())
37+
EXTENSION_ENTRY(glDrawElementsIndirect,GLenum -> GLenum -> Ptr a -> IO ())
38+
39+
gl_DRAW_INDIRECT_BUFFER :: GLenum
40+
gl_DRAW_INDIRECT_BUFFER = 0x8F3F
41+
42+
gl_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
43+
gl_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43

0 commit comments

Comments
 (0)