summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/gl-common.cfg
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2015-03-11 15:33:10 +0100
committerSven Gothel <[email protected]>2015-03-11 15:33:10 +0100
commit68391b118e93170c568edc21edad7f6b0c1f97a3 (patch)
treec0fd4e18d0bca4f1ca0875bf2d1d0df430afd09d /make/config/jogl/gl-common.cfg
parentcd92c17175db0c3a3a04b5b327cfcb887bf8a7d7 (diff)
Bug 1135: Complete GLBufferObjectTracker for GL 4.5 using GlueGen's DelegateImplementation/ReturnsOpaque (Bug 1144)
Using GlueGen's new DelegateImplementation/ReturnsOpaque feature (Bug 1144) allows us to drop manually C implementation stubs, while simply delegating into the renamed private generated variant using the manual stub. Completed glBufferStorage and glNamedBufferStorage for GL 4.4 while subsuming DSA's of GL 4.5 and GL_EXT_direct_state_access (only the single functions, otherwise extension is not compatible).
Diffstat (limited to 'make/config/jogl/gl-common.cfg')
-rw-r--r--make/config/jogl/gl-common.cfg66
1 files changed, 37 insertions, 29 deletions
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index 84919e5e2..2993b4bb2 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -71,8 +71,13 @@ Ignore glDebugMessageCallback
# Manually implement following GL functions to be redirected
# to GLBufferObjectTracker.
#
-ManuallyImplement glBufferData
-ForceProcAddressGen glBufferData
+# Common for all profiles:
+# glBufferData
+# glUnmapBuffer
+# mapBuffer
+# mapBufferRange
+#
+DelegateImplementation glBufferData glBufferDataDelegate
MethodJavadoc glBufferData * <p>
MethodJavadoc glBufferData * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails.
MethodJavadoc glBufferData * </p>
@@ -82,21 +87,11 @@ MethodJavadoc glBufferData * @throws GLException if size is less-than zero
MethodJavadoc glBufferData * @throws GLException if a native GL-Error occurs
MethodJavadoc glBufferData * </p>
-# FIXME: Add for OpenGL 4.4
-#Ignore glBufferStorage
-#ManuallyImplement glBufferStorage
-#ForceProcAddressGen glBufferStorage
-#MethodJavadoc glBufferStorage * <p>
-#MethodJavadoc glBufferStorage * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails.
-#MethodJavadoc glBufferStorage * </p>
-#MethodJavadoc glBufferStorage * <p>
-#MethodJavadoc glBufferStorage * @throws GLException if buffer is not bound to target
-#MethodJavadoc glBufferStorage * @throws GLException if size is less-or-equal zero
-#MethodJavadoc glBufferStorage * @throws GLException if a native GL-Error occurs
-#MethodJavadoc glBufferStorage * </p>
-
-ManuallyImplement glMapBuffer
-ForceProcAddressGen glMapBuffer
+#
+# GL_OES_mapbuffer: subsumed
+#
+DelegateImplementation glMapBuffer glMapBufferDelegate
+ReturnsOpaque long glMapBufferDelegate
MethodJavadoc glMapBuffer * <p>
MethodJavadoc glMapBuffer * Throws a {@link GLException} if GL-function constraints are not met.
MethodJavadoc glMapBuffer * </p>
@@ -109,8 +104,11 @@ MethodJavadoc glMapBuffer * @throws GLException if buffer is already mapped
MethodJavadoc glMapBuffer * @throws GLException if buffer has invalid store size, i.e. less-than zero
MethodJavadoc glMapBuffer * </p>
-ManuallyImplement glMapBufferRange
-ForceProcAddressGen glMapBufferRange
+#
+# GL_EXT_map_buffer_range: individual method
+RenameJavaSymbol glMapBufferRangeEXT glMapBufferRange
+DelegateImplementation glMapBufferRange glMapBufferRangeDelegate
+ReturnsOpaque long glMapBufferRangeDelegate
MethodJavadoc glMapBufferRange * <p>
MethodJavadoc glMapBufferRange * Throws a {@link GLException} if GL-function constraints are not met.
MethodJavadoc glMapBufferRange * </p>
@@ -125,8 +123,18 @@ MethodJavadoc glMapBufferRange * @throws GLException if buffer has invalid store
MethodJavadoc glMapBufferRange * @throws GLException if buffer mapping range does not fit, incl. offset
MethodJavadoc glMapBufferRange * </p>
-ManuallyImplement glUnmapBuffer
-ForceProcAddressGen glUnmapBuffer
+DelegateImplementation glUnmapBuffer glUnmapBufferDelegate
+
+#
+# Manually implement following GL 4 functions to be redirected
+# to GLBufferObjectTracker.
+# RenameJavaSymbol: GL_EXT_direct_state_access -> GL 4.5 !
+#
+RenameJavaSymbol glNamedBufferDataEXT glNamedBufferData
+RenameJavaSymbol glNamedBufferStorageEXT glNamedBufferStorage
+RenameJavaSymbol glMapNamedBufferEXT glMapNamedBuffer
+RenameJavaSymbol glMapNamedBufferRangeEXT glMapNamedBufferRange
+RenameJavaSymbol glUnmapNamedBufferEXT glUnmapNamedBuffer
# Ignore the ATI_map_object_buffer extension for now unless someone
# claims they need it, as it will undoubtedly require a similar
@@ -906,7 +914,7 @@ 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 * 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>
@@ -914,7 +922,7 @@ 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 * 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>
@@ -922,7 +930,7 @@ 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 * 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>
@@ -960,15 +968,15 @@ ClassJavadoc GL3bc * <p>Note: OpenGL [ 3.1 .. 3.3 ] compatibility profile does
ClassJavadoc GL3bc */
ClassJavadoc GL4 /**
-ClassJavadoc GL4 * <p>This interface contains all OpenGL [ 4.0 .. 4.5 ] <i>core</i> methods,
+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.5 ] core profile does not includes fixed point functionality.</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.5 ] <i>compatibility</i> profile,
+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.5 ] compatibility profile does includes fixed point functionality.</p>
+ClassJavadoc GL4bc * <p>Note: OpenGL [ 4.0 .. 4.3 ] compatibility profile does includes fixed point functionality.</p>
ClassJavadoc GL4bc */
ClassJavadoc GLES1 /**
@@ -982,7 +990,7 @@ ClassJavadoc GLES2 * as well as most of it's extensions defined at the time of
ClassJavadoc GLES2 */
ClassJavadoc GLES3 /**
-ClassJavadoc GLES3 * <p>This interface contains all OpenGL ES [ 3.0 .. 3.1 ] methods,
+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 */