aboutsummaryrefslogtreecommitdiffstats
path: root/make/gl-desktop.cfg
blob: c2e713d69d733ac751d9ce707efe71c3920ae463 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# This .cfg file provides common options used by the desktop OpenGL
# implementation on all platforms.

# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
GLHeader GL/gl.h
GLHeader GL/glext.h

# There are no PBOs in the embedded OpenGL variants right now
BufferObjectKind UnpackPixel glBitmap
BufferObjectKind UnpackPixel glColorTable
BufferObjectKind UnpackPixel glColorSubTable
BufferObjectKind UnpackPixel glCompressedTexImage1D
BufferObjectKind UnpackPixel glCompressedTexImage1DARB
BufferObjectKind UnpackPixel glCompressedTexImage2D
BufferObjectKind UnpackPixel glCompressedTexImage2DARB
BufferObjectKind UnpackPixel glCompressedTexImage3D
BufferObjectKind UnpackPixel glCompressedTexImage3DARB
BufferObjectKind UnpackPixel glCompressedTexSubImage1D
BufferObjectKind UnpackPixel glCompressedTexSubImage1DARB
BufferObjectKind UnpackPixel glCompressedTexSubImage2D
BufferObjectKind UnpackPixel glCompressedTexSubImage2DARB
BufferObjectKind UnpackPixel glCompressedTexSubImage3D
BufferObjectKind UnpackPixel glCompressedTexSubImage3DARB
BufferObjectKind UnpackPixel glConvolutionFilter1D
BufferObjectKind UnpackPixel glConvolutionFilter2D
BufferObjectKind UnpackPixel glDrawPixels
BufferObjectKind UnpackPixel glPixelMapfv
BufferObjectKind UnpackPixel glPixelMapuiv
BufferObjectKind UnpackPixel glPixelMapusv
BufferObjectKind UnpackPixel glPolygonStipple
BufferObjectKind UnpackPixel glSeparableFilter2D
BufferObjectKind UnpackPixel glTexImage1D
BufferObjectKind UnpackPixel glTexImage2D
BufferObjectKind UnpackPixel glTexImage3D
BufferObjectKind UnpackPixel glTexSubImage1D
BufferObjectKind UnpackPixel glTexSubImage2D
BufferObjectKind UnpackPixel glTexSubImage3D

BufferObjectKind PackPixel  glGetColorTable
BufferObjectKind PackPixel glGetCompressedTexImage
BufferObjectKind PackPixel glGetCompressedTexImageARB
BufferObjectKind PackPixel glGetConvolutionFilter
BufferObjectKind PackPixel glGetHistogram
BufferObjectKind PackPixel glGetMinmax
BufferObjectKind PackPixel glGetPixelMapfv
BufferObjectKind PackPixel glGetPixelMapuiv
BufferObjectKind PackPixel glGetPixelMapusv
BufferObjectKind PackPixel glGetPolygonStipple
BufferObjectKind PackPixel glGetSeparableFilter
BufferObjectKind PackPixel glGetTexImage
BufferObjectKind PackPixel glReadPixels

# Track server-side object creation and deletion when necessary
# Note that this is only necessary when the Java 2D / JOGL bridge is active,
# so will never be needed for the embedded OpenGL variants
JavaEpilogue glGenBuffers               if (tracker != null) tracker.addBuffers({0}, {1});
JavaEpilogue glGenBuffersARB            if (tracker != null) tracker.addBuffersARB({0}, {1});
JavaEpilogue glGenFencesAPPLE           if (tracker != null) tracker.addFencesAPPLE({0}, {1});
JavaEpilogue glGenFencesNV              if (tracker != null) tracker.addFencesNV({0}, {1});
JavaEpilogue glGenFragmentShadersATI    if (tracker != null) tracker.addFragmentShadersATI(_res, {0});
JavaEpilogue glGenFramebuffersEXT       if (tracker != null) tracker.addFramebuffersEXT({0}, {1});
JavaEpilogue glGenLists                 if (tracker != null) tracker.addLists(_res, {0});
JavaEpilogue glGenOcclusionQueriesNV    if (tracker != null) tracker.addOcclusionQueriesNV({0}, {1});
JavaEpilogue glCreateProgram            if (tracker != null) tracker.addProgramObject(_res);
JavaEpilogue glCreateProgramObjectARB   if (tracker != null) tracker.addProgramObjectARB(_res);
JavaEpilogue glGenProgramsARB           if (tracker != null) tracker.addProgramsARB({0}, {1});
JavaEpilogue glGenProgramsNV            if (tracker != null) tracker.addProgramsNV({0}, {1});
JavaEpilogue glGenQueries               if (tracker != null) tracker.addQueries({0}, {1});
JavaEpilogue glGenQueriesARB            if (tracker != null) tracker.addQueriesARB({0}, {1});
JavaEpilogue glGenRenderbuffersEXT      if (tracker != null) tracker.addRenderbuffersEXT({0}, {1});
JavaEpilogue glCreateShader             if (tracker != null) tracker.addShaderObject(_res);
JavaEpilogue glCreateShaderObjectARB    if (tracker != null) tracker.addShaderObjectARB(_res);
JavaEpilogue glGenTextures              if (tracker != null) tracker.addTextures({0}, {1});
JavaEpilogue glGenVertexArraysAPPLE     if (tracker != null) tracker.addVertexArraysAPPLE({0}, {1});
JavaEpilogue glGenVertexShadersEXT      if (tracker != null) tracker.addVertexShadersEXT(_res, {0});

JavaEpilogue glDeleteBuffers            if (tracker != null) tracker.removeBuffers({0}, {1});
JavaEpilogue glDeleteBuffersARB         if (tracker != null) tracker.removeBuffersARB({0}, {1});
JavaEpilogue glDeleteFencesAPPLE        if (tracker != null) tracker.removeFencesAPPLE({0}, {1});
JavaEpilogue glDeleteFencesNV           if (tracker != null) tracker.removeFencesNV({0}, {1});
JavaEpilogue glDeleteFragmentShaderATI  if (tracker != null) tracker.removeFragmentShaderATI({0});
JavaEpilogue glDeleteFramebuffersEXT    if (tracker != null) tracker.removeFramebuffersEXT({0}, {1});
JavaEpilogue glDeleteLists              if (tracker != null) tracker.removeLists({0}, {1});
JavaEpilogue glDeleteOcclusionQueriesNV if (tracker != null) tracker.removeOcclusionQueriesNV({0}, {1});
JavaEpilogue glDeleteProgram            if (tracker != null) tracker.removeProgramObject({0});
JavaEpilogue glDeleteObjectARB          if (tracker != null) tracker.removeProgramOrShaderObjectARB({0});
JavaEpilogue glDeleteProgramsARB        if (tracker != null) tracker.removeProgramsARB({0}, {1});
JavaEpilogue glDeleteProgramsNV         if (tracker != null) tracker.removeProgramsNV({0}, {1});
JavaEpilogue glDeleteQueries            if (tracker != null) tracker.removeQueries({0}, {1});
JavaEpilogue glDeleteQueriesARB         if (tracker != null) tracker.removeQueriesARB({0}, {1});
JavaEpilogue glDeleteRenderbuffersEXT   if (tracker != null) tracker.removeRenderbuffersEXT({0}, {1});
JavaEpilogue glDeleteShader             if (tracker != null) tracker.removeShaderObject({0});
JavaEpilogue glDeleteTextures           if (tracker != null) tracker.removeTextures({0}, {1});
JavaEpilogue glDeleteVertexArraysAPPLE  if (tracker != null) tracker.removeVertexArraysAPPLE({0}, {1});
JavaEpilogue glDeleteVertexShaderEXT    if (tracker != null) tracker.removeVertexShaderEXT({0});

#
# Directives needed when processing wglext.h on Windows and other platforms
#
Opaque boolean BOOL
ReturnsString wglGetExtensionsStringARB
ReturnsString wglGetExtensionsStringEXT
Opaque long HANDLE
Opaque long HBITMAP
Opaque long HDC
Opaque long HGDIOBJ
Opaque long HGLRC
Opaque long HPBUFFERARB
Opaque long HPBUFFEREXT
Opaque boolean BOOL
Opaque long PROC
Opaque long void **

#
# Directives needed when processing cglext.h on MacOSX and other platforms
#
Opaque long CGContextRef
Opaque long void **
# Implement the first argument to cglGetProcAddress as String instead
# of byte[]
ArgumentIsString cglGetProcAddress 0

#
# Directives needed when processing glxext.h on X11 and other platforms
#
Opaque long __GLXextFuncPtr
Opaque boolean Bool
Opaque long Display *
Opaque long GLXContext
Opaque long Visual *
# Ignore the empty Display and Visual data structures (though made
# opaque, the references from XVisualInfo and elsewhere are still
# traversed)
Ignore Display
Ignore Visual
# Implement the first argument to glXGetProcAddress as String instead
# of byte[]
ArgumentIsString glXGetProcAddress 0
ArgumentIsString glXGetProcAddressARB 0
ReturnsString glXQueryExtensionsString
ReturnsString glXQueryServerString
ReturnsString glXGetClientString
TemporaryCVariableDeclaration glXChooseFBConfig     int count;
TemporaryCVariableAssignment  glXChooseFBConfig     count = _ptr3[0];
ReturnValueLength             glXChooseFBConfig     count
TemporaryCVariableDeclaration glXChooseFBConfigSGIX int count;
TemporaryCVariableAssignment  glXChooseFBConfigSGIX count = _ptr3[0];
ReturnValueLength             glXChooseFBConfigSGIX count
TemporaryCVariableDeclaration glXGetFBConfigs       int count;
TemporaryCVariableAssignment  glXGetFBConfigs       count = _ptr2[0];
ReturnValueLength             glXGetFBConfigs       count

# Right now the implementations for these don't work on the embedded
# OpenGL variants (FIXME)
JavaEpilogue glBufferData       bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1});
JavaEpilogue glBufferDataARB    bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1});