diff options
Diffstat (limited to 'make/config/jogl/gl-common.cfg')
-rw-r--r-- | make/config/jogl/gl-common.cfg | 207 |
1 files changed, 139 insertions, 68 deletions
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg index a57400217..a1b09c5b4 100644 --- a/make/config/jogl/gl-common.cfg +++ b/make/config/jogl/gl-common.cfg @@ -7,6 +7,20 @@ 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 +GLHeader GL/glext-20130207.h + # Imports needed by all glue code Import java.util.* Import javax.media.opengl.* @@ -37,14 +51,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 +267,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 +295,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 +359,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 +383,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 +432,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 +454,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 +474,7 @@ ArgumentIsString glProgramNamedParameter4fvNV 2 ArgumentIsString glProgramNamedParameter4dvNV 2 ArgumentIsString glShaderSource 2 ArgumentIsString glShaderSourceARB 2 +ArgumentIsString glCreateShaderProgramv 2 ArgumentIsString glBindFragDataLocation 2 ArgumentIsString glGetFragDataLocation 1 @@ -466,7 +503,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 +583,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 +640,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 +732,107 @@ 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, lacking <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 w/o vendor extensions.<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, +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 * 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 * 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 * This interface contains all OpenGL [ 1.0 .. 3.0 ] methods, +ClassJavadoc GL2 * as well as most of it's extensions defined at the time of this specification. +ClassJavadoc GL2 * </p> +ClassJavadoc GL2 * <p> +ClassJavadoc GL2 * OpenGL extensions whose functionality was incorporated into core OpenGL ≤ 3.0, +ClassJavadoc GL2 * are subsumed into the core namespace.</p> +ClassJavadoc GL2 * </p> ClassJavadoc GL2 */ +ClassJavadoc GL3 /** +ClassJavadoc GL3 * <p>This interface contains all OpenGL [ 3.1 .. 3.3 ] <i>core</i> methods, +ClassJavadoc GL3 * as well as most of it's extensions defined at the time of this specification.</p> +ClassJavadoc GL3 * <p>Note: OpenGL [ 3.1 .. 3.3 ] core profile does not includes fixed point functionality.</p> +ClassJavadoc GL3 */ + 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 * <p>This interface contains all OpenGL [ 3.1 .. 3.3 ] <i>compatibility</i> methods, +ClassJavadoc GL3bc * as well as most of it's extensions defined at the time of this specification.</p> +ClassJavadoc GL3bc * <p>Note: OpenGL [ 3.1 .. 3.3 ] compatibility profile does includes fixed point functionality.</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 * 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 */ +ClassJavadoc GL4 /** +ClassJavadoc GL4 * <p>This interface contains all OpenGL [ 4.0 .. 4.3 ] <i>core</i> methods, +ClassJavadoc GL4 * as well as most of it's extensions defined at the time of this specification.</p> +ClassJavadoc GL4 * <p>Note: OpenGL [ 4.0 .. 4.3 ] core profile does not includes fixed point functionality.</p> +ClassJavadoc GL4 */ + +ClassJavadoc GL4bc /** +ClassJavadoc GL4bc * <p>This interface contains all OpenGL [ 4.0 .. 4.3 ] <i>compatibility</i> profile, +ClassJavadoc GL4bc * as well as most of it's extensions defined at the time of this specification.</p> +ClassJavadoc GL4bc * <p>Note: OpenGL [ 4.0 .. 4.3 ] compatibility profile does includes fixed point functionality.</p> +ClassJavadoc GL4bc */ ClassJavadoc GLES1 /** -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 * <p>This interface contains all OpenGL ES [ 1.0 .. 1.1 ] methods, +ClassJavadoc GLES1 * as well as most of it's extensions defined at the time of this specification.</p> ClassJavadoc GLES1 */ ClassJavadoc GLES2 /** -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 * <p>This interface contains all OpenGL ES 2.0 methods, +ClassJavadoc GLES2 * as well as most of it's extensions defined at the time of this specification.</p> ClassJavadoc GLES2 */ +ClassJavadoc GLES3 /** +ClassJavadoc GLES3 * <p>This interface contains all OpenGL ES 3.0 methods, +ClassJavadoc GLES3 * as well as most of it's extensions defined at the time of this specification.</p> +ClassJavadoc GLES3 */ + # Javadoc for the EGL class ClassJavadoc EGL /** ClassJavadoc EGL * Provides access to the embedded-specific OpenGL vendor extensions. @@ -785,11 +864,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); - |