summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/gl-common.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'make/config/jogl/gl-common.cfg')
-rw-r--r--make/config/jogl/gl-common.cfg203
1 files changed, 144 insertions, 59 deletions
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index a57400217..ddb312075 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -7,6 +7,19 @@ HierarchicalNativeOutput false
RuntimeExceptionType GLException
UnsupportedExceptionType GLException
+# 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
+GLHeader GL/glcorearb.h
+GLHeader GL/glcorearbext.h
+GLHeader GLES/gl.h
+GLHeader GLES/glext.h
+GLHeader GLES2/gl2.h
+GLHeader GLES2/gl2ext.h
+GLHeader GLES3/gl3.h
+GLHeader GLES3/gl3ext.h
+
# Imports needed by all glue code
Import java.util.*
Import javax.media.opengl.*
@@ -37,14 +50,17 @@ Ignore glGetVertexAttribPointerv
Ignore glGetVertexAttribPointervARB
Ignore glGetVertexAttribPointervNV
Ignore glTracePointerRangeMESA
-Ignore glMultiDrawElementsBaseVertex
-Ignore glDebugMessageCallbackARB
Ignore glDebugMessageCallbackAMD
+Ignore glDebugMessageCallbackARB
+Ignore glDebugMessageCallbackKHR
+Ignore glDebugMessageCallback
-# Manually implement glMapBuffer as the size of the returned buffer
+# Manually implement glMapBuffer and glMapBufferRange as the size of the returned buffer
# can only be computed by calling another routine
ManuallyImplement glMapBuffer
ForceProcAddressGen glMapBuffer
+ManuallyImplement glMapBufferRange
+ForceProcAddressGen glMapBufferRange
# Ignore the ATI_map_object_buffer extension for now unless someone
# claims they need it, as it will undoubtedly require a similar
@@ -250,7 +266,7 @@ RenameExtensionIntoCore GL_EXT_draw_buffers2
RenameExtensionIntoCore GL_ARB_texture_compression_rgtc
IgnoreExtension GL_EXT_texture_compression_rgtc
-RenameExtensionIntoCore GL_EXT_transform_feedback
+IgnoreExtension GL_EXT_transform_feedback
IgnoreExtension GL_NV_transform_feedback
# gl.h uses GL_ARB_vertex_array_object
@@ -278,6 +294,8 @@ IgnoreExtension GL_EXT_texture_buffer_object
RenameExtensionIntoCore GL_EXT_texture_rectangle
IgnoreExtension GL_NV_texture_rectangle
RenameExtensionIntoCore GL_ARB_uniform_buffer_object
+# Use Manual definition, otherwise GlueGen uses 'long' type
+Ignore GL_INVALID_INDEX
# <<< OpenGL 3.1
# >>> OpenGL 3.2
@@ -340,6 +358,17 @@ RenameExtensionIntoCore GL_ARB_viewport_array
# Rename extension suffices (if exist) subsumed in OpenGL 4.2 (from OpenGL 4.2 spec, Appendix L.1)
# <<< OpenGL 4.2
+# >>> OpenGL 4.3
+# Rename extension suffices (if exist) subsumed in OpenGL 4.3 (from OpenGL 4.3 spec, Appendix ?.1)
+RenameExtensionIntoCore GL_ARB_debug_output
+# <<< OpenGL 4.3
+
+# >>> OpenGL ES 2.0
+# <<< OpenGL ES 2.0
+
+# >>> OpenGL ES 3.0
+# <<< OpenGL ES 3.0
+
# Ignore a few obsolete versions of extensions that have been subsumed into the core or ARB extensions
IgnoreExtension GL_EXT_multisample
IgnoreExtension GL_EXT_point_parameters
@@ -353,6 +382,8 @@ IgnoreExtension GL_EXT_shader_image_load_store
Opaque boolean GLboolean
Opaque long GLsync
Opaque long GLeglImageOES
+Opaque long cl_context
+Opaque long cl_event
ReturnsString glGetString
ReturnsString glGetStringi
@@ -400,6 +431,13 @@ NIODirectOnly glWeightPointerARB
NIODirectOnly wglFreeMemoryNV
NIODirectOnly glXFreeMemoryNV
+# Native PointerBuffer usage:
+NIODirectOnly glMultiDrawElements
+NIODirectOnly glMultiDrawElementsBaseVertex
+NIODirectOnly glVDPAUMapSurfacesNV
+NIODirectOnly glVDPAUUnmapSurfacesNV
+NIODirectOnly glExtGetBufferPointervQCOM
+
#NIO Review: No technical reason to constrain array access for these:
#Return values
#NIODirectOnly glGenBuffers
@@ -415,9 +453,6 @@ NIODirectOnly glXFreeMemoryNV
ReturnValueCapacity wglAllocateMemoryNV {0}
ReturnValueCapacity glXAllocateMemoryNV {0}
-ReturnValueCapacity glMapBufferRange {2}
-ReturnValueCapacity glMapNamedBufferRangeEXT {2}
-
# Pass arguments to ARB_vertex_program, ARB_fragment_program,
# ARB_shader_objects, NV_vertex_program, NV_fragment_program, and
# ARB_vertex_shader as Strings
@@ -438,6 +473,7 @@ ArgumentIsString glProgramNamedParameter4fvNV 2
ArgumentIsString glProgramNamedParameter4dvNV 2
ArgumentIsString glShaderSource 2
ArgumentIsString glShaderSourceARB 2
+ArgumentIsString glCreateShaderProgramv 2
ArgumentIsString glBindFragDataLocation 2
ArgumentIsString glGetFragDataLocation 1
@@ -466,7 +502,7 @@ ArgumentIsString glGetFragDataIndex 1
ArgumentIsString glGetSubroutineIndex 2
ArgumentIsString glGetSubroutineUniformLocation 2
-ArgumentIsString glDebugMessageInsertARB 5
+ArgumentIsString glDebugMessageInsert 5
ArgumentIsString glDebugMessageInsertAMD 4
ArgumentIsString glNamedStringARB 2 4
@@ -546,8 +582,13 @@ BufferObjectKind Array glVertexWeightPointerEXT
BufferObjectKind Array glWeightPointerARB
BufferObjectKind Element glDrawElements
+BufferObjectKind Element glDrawElementsBaseVertex
+BufferObjectKind Element glDrawElementsInstanced
+BufferObjectKind Element glDrawElementsInstancedBaseInstance
+BufferObjectKind Element glDrawElementsInstancedBaseVertex
+BufferObjectKind Element glDrawElementsInstancedBaseVertexBaseInstance
BufferObjectKind Element glDrawRangeElements
-BufferObjectKind Element glDrawRangeElementsEXT
+BufferObjectKind Element glDrawRangeElementsBaseVertex
# There are no PBOs in the embedded OpenGL variants right now
BufferObjectKind UnpackPixel glBitmap
@@ -598,9 +639,17 @@ BufferObjectKind PackPixel glReadPixels
# 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 glColorPointer 3 1
+
+RangeCheck glDrawElements 3 {1}
+RangeCheck glDrawElementsBaseVertex 3 {1}
+RangeCheck glDrawElementsInstanced 3 {1}
+RangeCheck glDrawElementsInstancedBaseInstance 3 {1}
+RangeCheck glDrawElementsInstancedBaseVertex 3 {1}
+RangeCheck glDrawElementsInstancedBaseVertexBaseInstance 3 {1}
+RangeCheck glDrawRangeElements 5 {3}
+RangeCheck glDrawRangeElementsBaseVertex 5 {3}
+
RangeCheck glEdgeFlagPointer 1 1
RangeCheck glElementPointerATI 1 1
RangeCheck glFogCoordPointer 2 1
@@ -682,78 +731,122 @@ RangeCheck glDeleteVertexArraysAPPLE 1 {0}
# Javadoc for the GL class
ClassJavadoc GL /**
-ClassJavadoc GL * <P> Common interface containing the subset of all profiles, GL3bc, GL3, GL2, GLES1 and GLES2.<br>
-ClassJavadoc GL * This interface reflects common data types, texture and framebuffer functionality.</P>
+ClassJavadoc GL * <p> Common interface containing the subset of all profiles, GL3bc, GL3, GL2, GLES1 and GLES2.<br/>
+ClassJavadoc GL * This interface reflects common data types, texture and framebuffer functionality.</p>
ClassJavadoc GL */
ClassJavadoc GL2ES1 /**
-ClassJavadoc GL2ES1 * <P>
-ClassJavadoc GL2ES1 * Interface containing the common subset of GL2 and GLES1.<br>
-ClassJavadoc GL2ES1 * This interface reflects only the fixed functionality of OpenGL<br>
-ClassJavadoc GL2ES1 * </P>
+ClassJavadoc GL2ES1 * <p>
+ClassJavadoc GL2ES1 * Interface containing the common subset of GL2 and GLES1.<br/>
+ClassJavadoc GL2ES1 * This interface reflects only the fixed functionality of OpenGL<br/>
+ClassJavadoc GL2ES1 * </p>
ClassJavadoc GL2ES1 */
ClassJavadoc GL2ES2 /**
-ClassJavadoc GL2ES2 * <P>
-ClassJavadoc GL2ES2 * Interface containing the common subset of GL3, GL2 and GLES2.<br>
-ClassJavadoc GL2ES2 * This interface reflects only the programmable shader functionality of desktop and embedded OpenGL<br>
-ClassJavadoc GL2ES2 * </P>
+ClassJavadoc GL2ES2 * <p>
+ClassJavadoc GL2ES2 * Interface containing the common subset of GL3, GL2 and GLES2.<br/>
+ClassJavadoc GL2ES2 * This interface reflects only the programmable shader functionality of desktop and embedded OpenGL<br/>
+ClassJavadoc GL2ES2 * This interface is almost GLES2 complete.<br/>
+ClassJavadoc GL2ES2 * </p>
ClassJavadoc GL2ES2 */
+ClassJavadoc GL2ES3 /**
+ClassJavadoc GL2ES3 * <p>
+ClassJavadoc GL2ES3 * Interface containing the common subset of core GL2 and GLES3 (OpenGL ES 3.0).<br/>
+ClassJavadoc GL2ES3 * This interface reflects only the programmable shader functionality of desktop and embedded OpenGL<br/>
+ClassJavadoc GL2ES3 * This interface is not GLES3 complete and merely exist to avoid duplicated definitions.<br/>
+ClassJavadoc GL2ES3 * </p>
+ClassJavadoc GL2ES3 */
+
+ClassJavadoc GL3ES3 /**
+ClassJavadoc GL3ES3 * <p>
+ClassJavadoc GL3ES3 * Interface containing the common subset of core GL3 (OpenGL 3.1+) and GLES3 (OpenGL ES 3.0).<br/>
+ClassJavadoc GL3ES3 * This interface reflects only the programmable shader functionality of desktop and embedded OpenGL<br/>
+ClassJavadoc GL3ES3 * This interface is almost GLES3 complete, but lacks the <code>GL_ARB_ES3_compatibility</code> extension.<br/>
+ClassJavadoc GL3ES3 * </p>
+ClassJavadoc GL3ES3 */
+
+ClassJavadoc GL4ES3 /**
+ClassJavadoc GL4ES3 * <p>
+ClassJavadoc GL4ES3 * Interface containing the common subset of core GL4 (OpenGL 4.0+) and GLES3 (OpenGL ES 3.0).<br/>
+ClassJavadoc GL4ES3 * This interface reflects only the programmable shader functionality of desktop and embedded OpenGL<br/>
+ClassJavadoc GL4ES3 * This interface is GLES3 complete.<br/>
+ClassJavadoc GL4ES3 * </p>
+ClassJavadoc GL4ES3 */
+
ClassJavadoc GL2GL3 /**
-ClassJavadoc GL2GL3 * <P>
-ClassJavadoc GL2GL3 * Interface containing the common subset of core GL3 (OpenGL 3.1+) and GL2 (OpenGL 3.0),
-ClassJavadoc GL2GL3 * also known as the OpenGL 3.0 forward compatible, non deprecated subset.<br>
-ClassJavadoc GL2GL3 * This interface reflects only the programmable shader functionality of desktop OpenGL<br>
-ClassJavadoc GL2GL3 * </P>
+ClassJavadoc GL2GL3 * <p>
+ClassJavadoc GL2GL3 * Interface containing the common subset of core GL3 (OpenGL 3.1) and GL2 (OpenGL 3.0),
+ClassJavadoc GL2GL3 * also known as the OpenGL 3.0 forward compatible, non deprecated subset.<br/>
+ClassJavadoc GL2GL3 * This interface reflects only the programmable shader functionality of desktop OpenGL<br/>
+ClassJavadoc GL2GL3 * </p>
ClassJavadoc GL2GL3 */
ClassJavadoc GL2 /**
-ClassJavadoc GL2 * <P>
+ClassJavadoc GL2 * <p>
ClassJavadoc GL2 * This interface contains all core desktop OpenGL methods through
ClassJavadoc GL2 * version 3.0, inclusive, as well as most of it's extensions defined at the
ClassJavadoc GL2 * time of this specification. Early OpenGL extensions whose functionality
ClassJavadoc GL2 * was incorporated into core OpenGL by version 3.0, inclusive, are specifically
-ClassJavadoc GL2 * excluded.<br>
+ClassJavadoc GL2 * excluded.<br/>
ClassJavadoc GL2 * Note: OpenGL 3.0 is the last subsumed version in the specification.
ClassJavadoc GL2 * You need to use a {@link GL3} or {@link GL3bc} OpenGL 3.1+ context to benefit
ClassJavadoc GL2 * from new functionality and versions.
-ClassJavadoc GL2 * </P>
+ClassJavadoc GL2 * </p>
ClassJavadoc GL2 */
-ClassJavadoc GL3bc /**
-ClassJavadoc GL3bc * <P>
-ClassJavadoc GL3bc * This interface contains the OpenGL 3.x compatibility profile, ie includes all methods
-ClassJavadoc GL3bc * as defined in {@link GL2} and {@link GL3}.<br>
-ClassJavadoc GL3bc * </P>
-ClassJavadoc GL3bc */
-
ClassJavadoc GL3 /**
-ClassJavadoc GL3 * <P>
-ClassJavadoc GL3 * This interface contains all core, forward compatible, OpenGL methods starting from 3.1,
-ClassJavadoc GL3 * inclusive, as well as most of it's extensions defined at the time of this specification.<br>
+ClassJavadoc GL3 * <p>
+ClassJavadoc GL3 * This interface contains the core, forward compatible, OpenGL methods of GL 3.x, with x >=1,
+ClassJavadoc GL3 * as well as most of it's extensions defined at the time of this specification.<br/>
ClassJavadoc GL3 * Note: OpenGL 3.0 forward compatible, non deprecated functionality is included in the
-ClassJavadoc GL3 * 3.1 specification, hence the {@link GL2GL3} implemented interface.<br>
-ClassJavadoc GL3 * Note: OpenGL 3.1 forward compatible no more includes fixed point functionality.
-ClassJavadoc GL3 * </P>
+ClassJavadoc GL3 * 3.1 specification, hence the {@link GL2GL3} implemented interface.<br/>
+ClassJavadoc GL3 * Note: OpenGL 3.1 forward compatible, core profile abandoned fixed point functionality.
+ClassJavadoc GL3 * </p>
ClassJavadoc GL3 */
+ClassJavadoc GL3bc /**
+ClassJavadoc GL3bc * <p>
+ClassJavadoc GL3bc * This interface containing all core and compatibility OpenGL methods of GL 3.x, with x >= 1,<br/>
+ClassJavadoc GL3bc * as well as most of it's extensions defined at the time of this specification.
+ClassJavadoc GL3bc * </p>
+ClassJavadoc GL3bc */
+
+ClassJavadoc GL4 /**
+ClassJavadoc GL4 * <p>
+ClassJavadoc GL4 * This interface containing all core OpenGL methods of GL 4.x, with x >= 0,<br/>
+ClassJavadoc GL4 * as well as most of it's extensions defined at the time of this specification.
+ClassJavadoc GL4 * </p>
+ClassJavadoc GL4 */
+
+ClassJavadoc GL4bc /**
+ClassJavadoc GL4bc * <p>
+ClassJavadoc GL4bc * This interface containing all core and compatibility OpenGL methods of GL 4.x, with x >= 0,<br/>
+ClassJavadoc GL4bc * as well as most of it's extensions defined at the time of this specification.
+ClassJavadoc GL4bc * </p>
+ClassJavadoc GL4bc */
+
ClassJavadoc GLES1 /**
-ClassJavadoc GLES1 * <P>
+ClassJavadoc GLES1 * <p>
ClassJavadoc GLES1 * This interface contains all core embedded OpenGL methods of ES 1.x, with x >= 0,
-ClassJavadoc GLES1 * inclusive, as well as most of it's extensions defined at the
-ClassJavadoc GLES1 * time of this specification.
-ClassJavadoc GLES1 * </P>
+ClassJavadoc GLES1 * as well as most of it's extensions defined at the time of this specification.
+ClassJavadoc GLES1 * </p>
ClassJavadoc GLES1 */
ClassJavadoc GLES2 /**
-ClassJavadoc GLES2 * <P>
+ClassJavadoc GLES2 * <p>
ClassJavadoc GLES2 * This interface contains all core embedded OpenGL methods of ES 2.x, with x >= 0,
-ClassJavadoc GLES2 * inclusive, as well as most of it's extensions defined at the
-ClassJavadoc GLES2 * time of this specification.
-ClassJavadoc GLES2 * </P>
+ClassJavadoc GLES2 * inclusive, as well as most of it's extensions defined at the time of this specification.
+ClassJavadoc GLES2 * </p>
ClassJavadoc GLES2 */
+ClassJavadoc GLES3 /**
+ClassJavadoc GLES3 * <p>
+ClassJavadoc GLES3 * This interface contains all core embedded OpenGL methods of ES 3.x, with x >= 0,
+ClassJavadoc GLES3 * inclusive, as well as most of it's extensions defined at the time of this specification.
+ClassJavadoc GLES3 * </p>
+ClassJavadoc GLES3 */
+
# Javadoc for the EGL class
ClassJavadoc EGL /**
ClassJavadoc EGL * Provides access to the embedded-specific OpenGL vendor extensions.
@@ -785,11 +878,3 @@ ClassJavadoc XVisualInfo * extensions. No other access is provided to these dat
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 GL2GL3 /**
-CustomJavaCode GL2GL3 * Provides platform-independent access to the <code>wglAllocateMemoryNV</code> /
-CustomJavaCode GL2GL3 * <code>glXAllocateMemoryNV</code> extension.
-CustomJavaCode GL2GL3 */
-CustomJavaCode GL2GL3 public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3);
-