summaryrefslogtreecommitdiffstats
path: root/make/gl-common.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'make/gl-common.cfg')
-rw-r--r--make/gl-common.cfg692
1 files changed, 0 insertions, 692 deletions
diff --git a/make/gl-common.cfg b/make/gl-common.cfg
deleted file mode 100644
index 01afbd8b1..000000000
--- a/make/gl-common.cfg
+++ /dev/null
@@ -1,692 +0,0 @@
-# This .cfg file provides common options used among all glue code
-# generated for Jogl on all platforms.
-
-# Raise GLException instead of RuntimeException in glue code
-RuntimeExceptionType GLException
-
-# Imports needed by all glue code
-Import java.util.*
-Import javax.media.opengl.*
-Import com.sun.opengl.impl.*
-
-# 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
-
-# Don't output #defines of GL version identifier strings as constants,
-# because we don't need them java-side.
-Ignore GL_VERSION_.+
-
-# Don't output #defines of GL name strings as constants, because we
-# don't need them java-side.
-# Format of name strings is found at:
-# http://oss.sgi.com/projects/ogl-sample/registry/doc/template.txt
-
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_EXT_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_ARB_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_PGI_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGI_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGIS_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGIX_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_MESA_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_HP_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_ATI_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_NV_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_IBM_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_WIN_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_REND_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_APPLE_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_INTEL_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_INGR_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SUN_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SUNX_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_3DFX_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_OML_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_I3D_.+
-Ignore (GL|GLU|GLX|WGL|AGL|CGL)_S3_.+
-Ignore GL_KTX_buffer_region
-
-# Ignore GL functions that deal with explicit pointer values in such a
-# way that we cannot implement the functionality in Java
-Ignore glGetBufferPointerv
-Ignore glGetBufferPointervARB
-Ignore glGetPointerv
-Ignore glGetPointervEXT
-Ignore glGetTexParameterPointervAPPLE
-Ignore glGetVertexAttribPointerv
-Ignore glGetVertexAttribPointervARB
-Ignore glGetVertexAttribPointervNV
-Ignore glTracePointerRangeMESA
-
-# Manually implement glMapBuffer and glMapBufferARB as the size of the returned buffer
-# can only be computed by calling another routine
-ManuallyImplement glMapBuffer
-ManuallyImplement glMapBufferARB
-
-# Ignore the ATI_map_object_buffer extension for now unless someone
-# claims they need it, as it will undoubtedly require a similar
-# construct to glMapBuffer/glMapBufferARB
-Ignore glMapObjectBufferATI
-Ignore glUnmapObjectBufferATI
-
-# Ignore some GL functions that have outgoing void** parameters; we cannot yet deal with them
-Ignore glGetVariantPointervEXT
-
-# FIXME: these extensions require either a handle to a device context
-# or take void** parameters or both. Until we think through the
-# semantics of each of these individually we need to disable them.
-# WGL_ARB_buffer_region
-Ignore wglCreateBufferRegionARB
-Ignore wglDeleteBufferRegionARB
-Ignore wglSaveBufferRegionARB
-Ignore wglRestoreBufferRegionARB
-Ignore wglGetSyncValuesOML
-Ignore wglGetMscRateOML
-Ignore wglSwapBuffersMscOML
-Ignore wglSwapLayerBuffersMscOML
-Ignore wglWaitForMscOML
-Ignore wglWaitForSbcOML
-Ignore wglGetDigitalVideoParametersI3D
-Ignore wglSetDigitalVideoParametersI3D
-Ignore wglGetGammaTableParametersI3D
-Ignore wglSetGammaTableParametersI3D
-Ignore wglGetGammaTableI3D
-Ignore wglSetGammaTableI3D
-Ignore wglEnableGenlockI3D
-Ignore wglDisableGenlockI3D
-Ignore wglIsEnabledGenlockI3D
-Ignore wglGenlockSourceI3D
-Ignore wglGetGenlockSourceI3D
-Ignore wglGenlockSourceEdgeI3D
-Ignore wglGetGenlockSourceEdgeI3D
-Ignore wglGenlockSampleRateI3D
-Ignore wglGetGenlockSampleRateI3D
-Ignore wglGenlockSourceDelayI3D
-Ignore wglGetGenlockSourceDelayI3D
-Ignore wglQueryGenlockMaxSourceDelayI3D
-Ignore wglCreateImageBufferI3D
-Ignore wglDestroyImageBufferI3D
-Ignore wglAssociateImageBufferEventsI3D
-Ignore wglReleaseImageBufferEventsI3D
-
-#
-# IgnoreExtension directives
-#
-
-# Ignore extensions requiring persistent pointer-to-pointer storage as
-# there is no such thing as a direct "BufferBuffer"
-IgnoreExtension GL_IBM_vertex_array_lists
-IgnoreExtension GL_INTEL_parallel_arrays
-IgnoreExtension GL_SUN_triangle_list
-
-# Ignore extensions never approved by the ARB
-IgnoreExtension GL_EXT_coordinate_frame
-
-# Ignore discontinued extensions
-IgnoreExtension GL_NV_element_array
-
-# Ignore extensions subsumed in OpenGL 1.1 (from OpenGL 1.1 spec, Appendix C)
-IgnoreExtension GL_EXT_vertex_array
-IgnoreExtension GL_EXT_blend_logic_op
-IgnoreExtension GL_EXT_copy_texture
-IgnoreExtension GL_EXT_polygon_offset
-IgnoreExtension GL_EXT_subtexture
-IgnoreExtension GL_EXT_texture
-IgnoreExtension GL_EXT_texture_object
-
-# Ignore extensions subsumed in OpenGL 1.2 and 1.2.1 (from OpenGL 1.2.1 spec, Appendix D)
-IgnoreExtension GL_EXT_bgra
-IgnoreExtension GL_EXT_blend_color
-IgnoreExtension GL_EXT_blend_minmax
-IgnoreExtension GL_EXT_blend_subtract
-IgnoreExtension GL_EXT_color_subtable
-IgnoreExtension GL_EXT_convolution
-IgnoreExtension GL_EXT_draw_range_elements
-IgnoreExtension GL_EXT_histogram
-IgnoreExtension GL_EXT_packed_pixels
-# FIXME: is GL_EXT_paletted_texture also obsolete?
-IgnoreExtension GL_EXT_rescale_normal
-IgnoreExtension GL_EXT_separate_specular_color
-IgnoreExtension GL_EXT_texture3D
-IgnoreExtension GL_HP_convolution_border_modes
-IgnoreExtension GL_SGI_color_matrix
-IgnoreExtension GL_SGI_color_table
-IgnoreExtension GL_SGIS_texture_edge_clamp
-IgnoreExtension GL_SGIS_texture_lod
-
-# Ignore extensions subsumed in OpenGL 1.3 (from OpenGL 1.3 spec, Appendix F)
-IgnoreExtension GL_ARB_multisample
-IgnoreExtension GL_ARB_multitexture
-IgnoreExtension GL_ARB_texture_compression
-IgnoreExtension GL_ARB_texture_cube_map
-IgnoreExtension GL_ARB_texture_border_clamp
-IgnoreExtension GL_ARB_texture_env_add
-IgnoreExtension GL_ARB_texture_env_combine
-IgnoreExtension GL_ARB_texture_env_dot3
-IgnoreExtension GL_ARB_transpose_matrix
-IgnoreExtension GL_EXT_texture_cube_map
-IgnoreExtension GL_EXT_texture_env_add
-IgnoreExtension GL_EXT_texture_env_combine
-IgnoreExtension GL_EXT_texture_env_dot3
-IgnoreExtension GL_SGIS_texture_border_clamp
-
-#
-# Opaques and other directives for platform-independent routines
-#
-
-Opaque boolean GLboolean
-ReturnsString glGetString
-
-#
-# NIODirectOnly directives for vertex arrays and other core routines
-#
-NIODirectOnly glColorPointer
-NIODirectOnly glEdgeFlagPointer
-NIODirectOnly glFeedbackBuffer
-NIODirectOnly glIndexPointer
-NIODirectOnly glNormalPointer
-NIODirectOnly glSelectBuffer
-NIODirectOnly glTexCoordPointer
-NIODirectOnly glVertexPointer
-#
-# FIXME: we should probably be ignoring the "EXT" variants of these
-#
-NIODirectOnly glColorPointerEXT
-NIODirectOnly glEdgeFlagPointerEXT
-NIODirectOnly glIndexPointerEXT
-NIODirectOnly glNormalPointerEXT
-NIODirectOnly glTexCoordPointerEXT
-NIODirectOnly glVertexPointerEXT
-#
-# NIODirectOnly directives for other extensions
-#
-NIODirectOnly glBinormalPointerEXT
-NIODirectOnly glGetBufferSubDataARB
-# FIXME: should add way to restrict argument to be a direct ByteBuffer
-NIODirectOnly glGetProgramStringARB
-NIODirectOnly glElementPointerATI
-NIODirectOnly glElementPointerNV
-NIODirectOnly glElementPointerAPPLE
-NIODirectOnly glFogCoordPointer
-NIODirectOnly glFogCoordPointerEXT
-NIODirectOnly glMatrixIndexPointerARB
-NIODirectOnly glPixelDataRangeNV
-NIODirectOnly glSecondaryColorPointer
-NIODirectOnly glSecondaryColorPointerEXT
-NIODirectOnly glTangentPointerEXT
-NIODirectOnly glVertexArrayRangeNV
-NIODirectOnly glVertexArrayRangeApple
-NIODirectOnly glVertexAttribPointerARB
-NIODirectOnly glVertexAttribPointerNV
-NIODirectOnly glVertexWeightPointerEXT
-NIODirectOnly glWeightPointerARB
-NIODirectOnly wglFreeMemoryNV
-NIODirectOnly glXFreeMemoryNV
-
-# Capacity of wglAllocateMemoryNV/glXAllocateMemoryNV return value is
-# same as value of first argument
-ReturnValueCapacity wglAllocateMemoryNV {0}
-ReturnValueCapacity glXAllocateMemoryNV {0}
-
-# Pass arguments to ARB_vertex_program, ARB_fragment_program,
-# ARB_shader_objects, NV_vertex_program, NV_fragment_program, and
-# ARB_vertex_shader as Strings
-ArgumentIsString glLoadProgramNV 3
-ArgumentIsString glProgramStringARB 3
-ArgumentIsString glProgramNamedParameter4fNV 2
-ArgumentIsString glProgramNamedParameter4dNV 2
-ArgumentIsString glProgramNamedParameter4fvNV 2
-ArgumentIsString glProgramNamedParameter4dvNV 2
-ArgumentIsString glGetProgramNamedParameterfvNV 2
-ArgumentIsString glGetProgramNamedParameterdvNV 2
-ArgumentIsString glShaderSource 2
-ArgumentIsString glShaderSourceARB 2
-ArgumentIsString glGetUniformLocation 1
-ArgumentIsString glGetUniformLocationARB 1
-ArgumentIsString glBindAttribLocation 2
-ArgumentIsString glBindAttribLocationARB 2
-ArgumentIsString glGetAttribLocation 1
-ArgumentIsString glGetAttribLocationARB 1
-
-#
-# Directives for Vertex Buffer Object and Pixel Buffer Object checking
-#
-# NOTE: we currently don't emit glue code for some of these but
-# include them for completeness.
-#
-# FIXME: what about glMultiDrawElements? Do we want to add a VBO
-# variant for that, or simply add checks to the top of the current
-# implementation?
-#
-JavaPrologue glBegin inBeginEndPair = true;
-JavaEpilogue glEnd inBeginEndPair = false;
-JavaEpilogue glBindBuffer bufferStateTracker.setBoundBufferObject({0}, {1});
-JavaEpilogue glBindBufferARB bufferStateTracker.setBoundBufferObject({0}, {1});
-JavaEpilogue glPushClientAttrib bufferStateTracker.clearBufferObjectState();
-JavaEpilogue glPopClientAttrib bufferStateTracker.clearBufferObjectState();
-JavaEpilogue glBufferData bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1});
-JavaEpilogue glBufferDataARB bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1});
-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
-
-BufferObjectKind Array glColorPointer
-BufferObjectKind Array glEdgeFlagPointer
-BufferObjectKind Array glElementPointerATI
-BufferObjectKind Array glFogCoordPointer
-BufferObjectKind Array glFogCoordPointerEXT
-# The next one is problematic. It isn't discussed by the specs and
-# doesn't have any associated state.
-BufferObjectKind Array glInterleavedArrays
-BufferObjectKind Array glMatrixIndexPointerARB
-BufferObjectKind Array glNormalPointer
-BufferObjectKind Array glSecondaryColorPointer
-BufferObjectKind Array glSecondaryColorPointerEXT
-BufferObjectKind Array glTexCoordPointer
-BufferObjectKind Array glVariantPointerEXT
-BufferObjectKind Array glVertexPointer
-BufferObjectKind Array glVertexAttribPointer
-BufferObjectKind Array glVertexAttribPointerARB
-BufferObjectKind Array glVertexAttribPointerNV
-BufferObjectKind Array glVertexWeightPointerEXT
-BufferObjectKind Array glWeightPointerARB
-
-BufferObjectKind Element glDrawElements
-BufferObjectKind Element glDrawRangeElements
-BufferObjectKind Element glDrawRangeElementsEXT
-
-# Range check directives for various routines
-# FIXME: some of these are really the bare minimum and won't catch
-# many classes of errors. Should extend the DebugGL to perform much
-# more error checking with e.g. glDrawElements.
-RangeCheck glColorPointer 3 1
-RangeCheck glDrawElements 3 {1}
-RangeCheck glDrawRangeElements 5 {3}
-RangeCheck glEdgeFlagPointer 1 1
-RangeCheck glElementPointerATI 1 1
-RangeCheck glFogCoordPointer 2 1
-RangeCheck glFogCoordPointerEXT 2 1
-RangeCheck glInterleavedArrays 2 1
-RangeCheck glMatrixIndexPointerARB 3 1
-RangeCheck glNormalPointer 2 1
-RangeCheck glSecondaryColorPointer 3 1
-RangeCheck glSecondaryColorPointerEXT 3 1
-RangeCheck glTexCoordPointer 3 1
-RangeCheck glVariantPointerEXT 3 1
-RangeCheck glVertexPointer 3 1
-RangeCheck glVertexAttribPointer 5 1
-RangeCheck glVertexAttribPointerARB 5 1
-RangeCheck glWeightPointerARB 3 1
-
-# Range check directives for various image-related routines
-RangeCheckBytes glColorTable 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1)
-RangeCheckBytes glColorTableEXT 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1)
-RangeCheckBytes glConvolutionFilter1D 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1)
-RangeCheckBytes glConvolutionFilter2D 6 imageSizeInBytes({4}, {5}, {2} , {3} , 1)
-RangeCheckBytes glDrawPixels 4 imageSizeInBytes({2}, {3}, {0} , {1} , 1)
-RangeCheckBytes glReadPixels 6 imageSizeInBytes({4}, {5}, {2} , {3} , 1)
-RangeCheckBytes glTexImage1D 7 imageSizeInBytes({5}, {6}, {3} , 1 , 1)
-RangeCheckBytes glTexImage2D 8 imageSizeInBytes({6}, {7}, {3} , {4} , 1)
-RangeCheckBytes glTexImage3D 9 imageSizeInBytes({7}, {8}, {3} , {4} , {5})
-RangeCheckBytes glTexSubImage1D 6 imageSizeInBytes({4}, {5}, {3} , 1 , 1)
-RangeCheckBytes glTexSubImage2D 8 imageSizeInBytes({6}, {7}, {4} , {5} , 1)
-RangeCheckBytes glTexSubImage3D 10 imageSizeInBytes({8}, {9}, {5} , {6} , {7})
-# Note we don't support glTexImage4DSGIS / glTexSubImage4DSGIS
-
-# Not simple to produce good range checks for these as we would need
-# to query the pipeline to see the size of the returned data before
-# fetching it
-# RangeCheckBytes glGetTexImage
-
-# Range checks for server-side object creation and deletion methods
-RangeCheck glGenBuffers 1 {0}
-RangeCheck glDeleteBuffers 1 {0}
-RangeCheck glGenBuffersARB 1 {0}
-RangeCheck glDeleteBuffersARB 1 {0}
-RangeCheck glGenFencesAPPLE 1 {0}
-RangeCheck glDeleteFencesAPPLE 1 {0}
-RangeCheck glGenFencesNV 1 {0}
-RangeCheck glDeleteFencesNV 1 {0}
-RangeCheck glGenFramebuffersEXT 1 {0}
-RangeCheck glDeleteFramebuffersEXT 1 {0}
-RangeCheck glGenOcclusionQueriesNV 1 {0}
-RangeCheck glDeleteOcclusionQueriesNV 1 {0}
-RangeCheck glGenProgramsARB 1 {0}
-RangeCheck glDeleteProgramsARB 1 {0}
-RangeCheck glGenProgramsNV 1 {0}
-RangeCheck glDeleteProgramsNV 1 {0}
-RangeCheck glGenQueries 1 {0}
-RangeCheck glDeleteQueries 1 {0}
-RangeCheck glGenQueriesARB 1 {0}
-RangeCheck glDeleteQueriesARB 1 {0}
-RangeCheck glGenRenderbuffersEXT 1 {0}
-RangeCheck glDeleteRenderbuffersEXT 1 {0}
-RangeCheck glGenTextures 1 {0}
-RangeCheck glDeleteTextures 1 {0}
-RangeCheck glGenVertexArraysAPPLE 1 {0}
-RangeCheck glDeleteVertexArraysAPPLE 1 {0}
-
-# Track server-side object creation and deletion when necessary
-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});
-
-
-# Javadoc for the GL class
-ClassJavadoc GL /**
-ClassJavadoc GL * <P> The basic interface to OpenGL, providing access to core
-ClassJavadoc GL * functionality up through the OpenGL 2.0 specification as well as
-ClassJavadoc GL * all vendor extensions. </P>
-ClassJavadoc GL *
-ClassJavadoc GL * <P> While the APIs for vendor extensions are unconditionally
-ClassJavadoc GL * exposed, the underlying functions may not be present. The method
-ClassJavadoc GL * {@link #isFunctionAvailable} should be used to query the
-ClassJavadoc GL * availability of any non-core function before it is used for the
-ClassJavadoc GL * first time; for example,
-ClassJavadoc GL * <code>gl.isFunctionAvailable("glProgramStringARB")</code>. On
-ClassJavadoc GL * certain platforms (Windows in particular), the most "core"
-ClassJavadoc GL * functionality is only OpenGL 1.1, so in theory any routines first
-ClassJavadoc GL * exposed in OpenGL 1.2, 1.3, and 1.4, 1.5, or 2.0 as well as vendor
-ClassJavadoc GL * extensions should all be queried. Calling an unavailable function
-ClassJavadoc GL * will cause a {@link GLException} to be raised. </P>
-ClassJavadoc GL *
-ClassJavadoc GL * {@link #isExtensionAvailable} may also be used to determine whether
-ClassJavadoc GL * a specific extension is available before calling the routines or
-ClassJavadoc GL * using the functionality it exposes: for example,
-ClassJavadoc GL * <code>gl.isExtensionAvailable("GL_ARB_vertex_program");</code>.
-ClassJavadoc GL * However, in this case it is up to the end user to know which
-ClassJavadoc GL * routines or functionality are associated with which OpenGL
-ClassJavadoc GL * extensions. It may also be used to test for the availability of a
-ClassJavadoc GL * particular version of OpenGL: for example,
-ClassJavadoc GL * <code>gl.isExtensionAvailable("GL_VERSION_1_5");</code>.
-ClassJavadoc GL *
-ClassJavadoc GL * <P> Exceptions to the window system extension naming rules:
-ClassJavadoc GL *
-ClassJavadoc GL * <UL>
-ClassJavadoc GL *
-ClassJavadoc GL * <LI> The memory allocators for the NVidia vertex_array_range (VAR)
-ClassJavadoc GL * extension, in particular <code>wglAllocateMemoryNV</code> /
-ClassJavadoc GL * <code>glXAllocateMemoryNV</code> and associated routines. {@link
-ClassJavadoc GL * #glAllocateMemoryNV} has been provided for window system-independent
-ClassJavadoc GL * access to VAR. {@link #isFunctionAvailable} will translate an argument
-ClassJavadoc GL * of "glAllocateMemoryNV" or "glFreeMemoryNV" into the appropriate
-ClassJavadoc GL * window system-specific name. </P>
-ClassJavadoc GL *
-ClassJavadoc GL * <LI> WGL_ARB_pbuffer, WGL_ARB_pixel_format, and other
-ClassJavadoc GL * platform-specific pbuffer functionality; the availability of
-ClassJavadoc GL * pbuffers can be queried on Windows, X11 and Mac OS X platforms by
-ClassJavadoc GL * querying {@link #isExtensionAvailable} with an argument of
-ClassJavadoc GL * "GL_ARB_pbuffer" or "GL_ARB_pixel_format".
-ClassJavadoc GL *
-ClassJavadoc GL * </UL> <P>
-ClassJavadoc GL *
-ClassJavadoc GL */
-
-# Javadoc for the WGL class
-ClassJavadoc WGL /**
-ClassJavadoc WGL * Provides access to the Windows-specific OpenGL vendor extensions.
-ClassJavadoc WGL * See {@link GL} for more information.
-ClassJavadoc WGL */
-
-# Javadoc for the GLX class
-ClassJavadoc GLX /**
-ClassJavadoc GLX * Provides access to the X11-specific OpenGL vendor extensions.
-ClassJavadoc GLX * See {@link GL} for more information.
-ClassJavadoc GLX */
-
-# Javadoc for the CGL class
-ClassJavadoc CGL /**
-ClassJavadoc CGL * Provides access to the MacOSX-specific OpenGL vendor extensions.
-ClassJavadoc CGL * See {@link GL} for more information.
-ClassJavadoc CGL */
-
-# Javadoc for the XVisualInfo class
-ClassJavadoc XVisualInfo /**
-ClassJavadoc XVisualInfo * Wrapper for the XVisualInfo data structure, referenced by some GLX OpenGL
-ClassJavadoc XVisualInfo * extensions. No other access is provided to these data structures so currently
-ClassJavadoc XVisualInfo * this wrapper is not useful to end users, though it is used in the implementation.
-ClassJavadoc XVisualInfo */
-
-# Custom code for querying extensions and exposing
-# wglAllocateMemoryNV/glXAllocateMemoryNV
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns true if the specified OpenGL core- or extension-function can be
-CustomJavaCode GL * used successfully through this GL instance given the current host (OpenGL
-CustomJavaCode GL * <i>client</i>) and display (OpenGL <i>server</i>) configuration.<P>
-CustomJavaCode GL * By "successfully" we mean that the function is both <i>callable</i>
-CustomJavaCode GL * on the machine running the program and <i>available</i> on the current
-CustomJavaCode GL * display.<P>
-CustomJavaCode GL *
-CustomJavaCode GL * In order to call a function successfully, the function must be both
-CustomJavaCode GL * <i>callable</i> on the machine running the program and <i>available</i> on
-CustomJavaCode GL * the display device that is rendering the output (note: on non-networked,
-CustomJavaCode GL * single-display machines these two conditions are identical; on networked and/or
-CustomJavaCode GL * multi-display machines this becomes more complicated). These conditions are
-CustomJavaCode GL * met if the function is either part of the core OpenGL version supported by
-CustomJavaCode GL * both the host and display, or it is an OpenGL extension function that both
-CustomJavaCode GL * the host and display support. <P>
-CustomJavaCode GL *
-CustomJavaCode GL * A GL function is <i>callable</i> if it is statically linked, or can be
-CustomJavaCode GL * dynamically linked at runtime.
-CustomJavaCode GL *
-CustomJavaCode GL * Whether or not a GL function is <i>available</i> is determined as follows:
-CustomJavaCode GL * <ul>
-CustomJavaCode GL * <li>If the function is an OpenGL core function (i.e., not an
-CustomJavaCode GL * extension), <code>glGetString(GL_VERSION)</code> is used to determine the
-CustomJavaCode GL * version number of the highest OpenGL specification version that both host
-CustomJavaCode GL * and display support, and then the function name is cross-referenced
-CustomJavaCode GL * with that specification version to see if it is part of that version.
-
-CustomJavaCode GL * <li> If the function is an OpenGL extension, the function name is
-CustomJavaCode GL * cross-referenced with the list returned by
-CustomJavaCode GL * <code>glGetString(GL_EXTENSIONS)</code> to see if the function is one of
-CustomJavaCode GL * the extensions that is supported on both host and display.
-CustomJavaCode GL * </ul>
-CustomJavaCode GL *
-CustomJavaCode GL * <b>NOTE:</b>The availability of a function may change at runtime in
-CustomJavaCode GL * response to changes in the display environment. For example, when a window
-CustomJavaCode GL * is dragged from one display to another on a multi-display system, or when
-CustomJavaCode GL * the properties of the display device are modified (e.g., changing the color
-CustomJavaCode GL * depth of the display). Any application that is concerned with handling
-CustomJavaCode GL * these situations correctly should confirm availability after a display
-CustomJavaCode GL * change before calling a questionable OpenGL function. To detect a change in
-CustomJavaCode GL * the display device, please see {@link
-CustomJavaCode GL * GLEventListener#displayChanged(GLAutoDrawable,boolean,boolean)}.
-CustomJavaCode GL *
-CustomJavaCode GL * @param glFunctionName the name of the OpenGL function (e.g., use
-CustomJavaCode GL * "glBindRenderbufferEXT" to check if {@link
-CustomJavaCode GL * #glBindRenderbufferEXT(int,int)} is available).
-CustomJavaCode GL */
-CustomJavaCode GL public boolean isFunctionAvailable(String glFunctionName);
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns true if the specified OpenGL extension can be
-CustomJavaCode GL * used successfully through this GL instance given the current host (OpenGL
-CustomJavaCode GL * <i>client</i>) and display (OpenGL <i>server</i>) configuration.<P>
-CustomJavaCode GL *
-CustomJavaCode GL * @param glExtensionName the name of the OpenGL extension (e.g.,
-CustomJavaCode GL * "GL_ARB_vertex_program").
-CustomJavaCode GL */
-CustomJavaCode GL public boolean isExtensionAvailable(String glExtensionName);
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Provides platform-independent access to the <code>wglAllocateMemoryNV</code> /
-CustomJavaCode GL * <code>glXAllocateMemoryNV</code> extension.
-CustomJavaCode GL */
-CustomJavaCode GL public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3);
-
-CustomJavaCode GL /** Provides a platform-independent way to specify the minimum swap
-CustomJavaCode GL interval for buffer swaps. An argument of 0 disables
-CustomJavaCode GL sync-to-vertical-refresh completely, while an argument of 1
-CustomJavaCode GL causes the application to wait until the next vertical refresh
-CustomJavaCode GL until swapping buffers. The default, which is platform-specific,
-CustomJavaCode GL is usually either 0 or 1. This function is not guaranteed to
-CustomJavaCode GL have an effect, and in particular only affects heavyweight
-CustomJavaCode GL onscreen components. */
-CustomJavaCode GL public void setSwapInterval(int interval);
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns an object through which platform-specific OpenGL extensions
-CustomJavaCode GL * (WGL, GLX, etc.) may be accessed. The data type of the returned
-CustomJavaCode GL * object and its associated capabilities are undefined. Most
-CustomJavaCode GL * applications will never need to call this method. It is highly
-CustomJavaCode GL * recommended that any applications which do call this method perform
-CustomJavaCode GL * all accesses on the returned object reflectively to guard
-CustomJavaCode GL * themselves against changes to the implementation.
-CustomJavaCode GL */
-CustomJavaCode GL public Object getPlatformGLExtensions();
-
-CustomJavaCode GL /**
-CustomJavaCode GL * Returns an object providing access to the specified OpenGL
-CustomJavaCode GL * extension. This is intended to provide a mechanism for vendors who
-CustomJavaCode GL * which to provide access to new OpenGL extensions without changing
-CustomJavaCode GL * the public API of the core package. For example, a user may request
-CustomJavaCode GL * access to extension "GL_VENDOR_foo" and receive back an object
-CustomJavaCode GL * which implements a vendor-specified interface which can call the
-CustomJavaCode GL * OpenGL extension functions corresponding to that extension. It is
-CustomJavaCode GL * up to the vendor to specify both the extension name and Java API
-CustomJavaCode GL * for accessing it, including which class or interface contains the
-CustomJavaCode GL * functions.
-CustomJavaCode GL *
-CustomJavaCode GL * <P>
-CustomJavaCode GL *
-CustomJavaCode GL * Note: it is the intent to add new extensions as quickly as possible
-CustomJavaCode GL * to the core GL API. Therefore it is unlikely that most vendors will
-CustomJavaCode GL * use this extension mechanism, but it is being provided for
-CustomJavaCode GL * completeness.
-CustomJavaCode GL */
-CustomJavaCode GL public Object getExtension(String extensionName);
-
-#
-# 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