diff options
author | Sven Gothel <[email protected]> | 2013-10-10 02:15:56 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-10-10 02:15:56 +0200 |
commit | 4e83a5df7a851cc33d85f76381f058256906ad4c (patch) | |
tree | 9454329d601da72c7e4642491406dac8eed3d4c6 /make | |
parent | e96b2d648e7d69b95325fb6b80c6eb508e1e8a14 (diff) |
Bug 852: Remove CPU sourced data API entry where not allowed (ES3 and GL core >= 3.0) ; GL2 cfg: Ignore GL2ES3 symbols (super)
Remove CPU sourced data API entries via new config 'BufferObjectOnly <name>',
listed in 'gl-common-gpubufferonly.cfg' and included in ES3 and all GL core >= 3 interfaces.
If BufferObjectOnly is defined for a function, only the 'long offset' variant is being emitted.
Due to limitations of GlueGen's 'ExtendedInterfaceSymbolsIgnore A.java', which only
identifies the function name and not the signature - all CPU sourced variants
are manually added to the compatibility and ES2 GL profiles via '*-common-cpubufferJavaCode.java' files.
GLContext: Added 'isCPUSourcedAvail()' to determine whether context allows CPU sourced data,
i.e. for GL2ES1 and GLES2 ctx.
GLContext/GLProfile/GL: isGLES2() now returns false if having a ES3 context due to 'CPU sourced'
incompatibility!
+++
GL2 cfg: Added ignore GL2ES3 symbols of it's superclass, removing duplicated symbols.
Diffstat (limited to 'make')
22 files changed, 184 insertions, 16 deletions
diff --git a/make/build-jogl.xml b/make/build-jogl.xml index e83f33603..8c30bb038 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -602,11 +602,24 @@ </target> <target name="java.generate.gles3"> - <echo message="Generating GLES3 interface and implementation" /> + <echo message="Generating GLES3 interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles3.c" outputRootDir="${build.jogl}" - config="${config.jogl}/gl-es3.cfg" + config="${config.jogl}/gl-if-es3.cfg" + includeRefid="stub.includes.fileset.all.gldesktop" + literalInclude="${stub.includes.gluegen.gg}" + emitter="com.jogamp.gluegen.opengl.GLEmitter"> + <classpath refid="gluegen-gl.classpath" /> + </gluegen> + </target> + + <target name="java.generate.gles3impl"> + <echo message="Generating GLES3 implementation" /> + <antcall target="java.generate.copy2temp" inheritRefs="true" /> + <gluegen src="${stub.includes.opengl}/gles3.c" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-es3-impl.cfg" includeRefid="stub.includes.fileset.all.gldesktop" literalInclude="${stub.includes.gluegen.gg}" emitter="com.jogamp.gluegen.opengl.GLEmitter"> @@ -641,7 +654,7 @@ </gluegen> </target> - <target name="java.generate.gl.all" depends="build.gluegen-gl.jar, java.generate.gl_if, java.generate.gl2_es1_if, java.generate.gles1, java.generate.gl2_es2_if, java.generate.gles2, java.generate.gl2_es3_if, java.generate.gl3_es3_if, java.generate.gl2_gl3_if, java.generate.gl2, java.generate.gl3, java.generate.gl3bc, java.generate.gl4_es3_if, java.generate.gles3, java.generate.gl4, java.generate.gl4bc"/> + <target name="java.generate.gl.all" depends="build.gluegen-gl.jar, java.generate.gl_if, java.generate.gl2_es1_if, java.generate.gles1, java.generate.gl2_es2_if, java.generate.gles2, java.generate.gl2_es3_if, java.generate.gl3_es3_if, java.generate.gl2_gl3_if, java.generate.gl2, java.generate.gl3, java.generate.gl3bc, java.generate.gl4_es3_if, java.generate.gles3, java.generate.gles3impl, java.generate.gl4, java.generate.gl4bc"/> <!-- target name="java.generate.gl.nsig" if="gluegen.nsig"> <echo message="Generating GL interface and implementation" /> diff --git a/make/config/jogl/gl-common-gpubufferonly.cfg b/make/config/jogl/gl-common-gpubufferonly.cfg new file mode 100644 index 000000000..14671f353 --- /dev/null +++ b/make/config/jogl/gl-common-gpubufferonly.cfg @@ -0,0 +1,50 @@ + +# +# For core GL spec >= 3.1 and ES >= 3.0 +# source can only be a buffer object! +# +# See Bug 852 +# +# OpenGL 3.1 core spec 2.10 p41 +# Vertex Array Objects - *Pointer commands +# +# OpenGL 3.2 core spec 2.9.7 p45 +# Draw* commands -w/ "Array Indices in Buffer Objects" +# +# OpenGL 4.0 core spec 2.9.8 p51: +# Draw* Indirect Commands .. +# + +BufferObjectOnly glColorPointer +BufferObjectOnly glEdgeFlagPointer +BufferObjectOnly glElementPointerATI +BufferObjectOnly glFogCoordPointer +BufferObjectOnly glFogCoordPointerEXT +BufferObjectOnly glInterleavedArrays +BufferObjectOnly glMatrixIndexPointerARB +BufferObjectOnly glNormalPointer +BufferObjectOnly glSecondaryColorPointer +BufferObjectOnly glSecondaryColorPointerEXT +BufferObjectOnly glTexCoordPointer +BufferObjectOnly glVariantPointerEXT +BufferObjectOnly glVertexPointer +BufferObjectOnly glVertexAttribPointer +BufferObjectOnly glVertexAttribPointerARB +BufferObjectOnly glVertexAttribPointerNV +BufferObjectOnly glVertexAttribIPointer +BufferObjectOnly glVertexAttribLPointer +BufferObjectOnly glVertexWeightPointerEXT +BufferObjectOnly glWeightPointerARB + +BufferObjectOnly glDrawElements +BufferObjectOnly glDrawElementsBaseVertex +BufferObjectOnly glDrawElementsInstanced +BufferObjectOnly glDrawElementsInstancedBaseInstance +BufferObjectOnly glDrawElementsInstancedBaseVertex +BufferObjectOnly glDrawElementsInstancedBaseVertexBaseInstance +BufferObjectOnly glDrawRangeElements +BufferObjectOnly glDrawRangeElementsBaseVertex + +BufferObjectOnly glDrawArraysIndirect +BufferObjectOnly glDrawElementsIndirect + diff --git a/make/config/jogl/gl-es3.cfg b/make/config/jogl/gl-es3-impl.cfg index 997723d01..2e5e36e9c 100644 --- a/make/config/jogl/gl-es3.cfg +++ b/make/config/jogl/gl-es3-impl.cfg @@ -1,4 +1,4 @@ -# This .cfg file is used to generate the GL interface and implementing class. +# This .cfg file is used to generate the GL implementing class. JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/es3 @@ -8,18 +8,10 @@ ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/G ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL3ES3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL4ES3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GLES3.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java -Package javax.media.opengl -Style InterfaceAndImpl -JavaClass GLES3 -#Extends GLES3 GLBase -#Extends GLES3 GL -#Extends GLES3 GL2ES2 -#Extends GLES3 GL2ES3 -#Extends GLES3 GL3ES3 -Extends GLES3 GLES2 -Extends GLES3 GL4ES3 +Style ImplOnly ImplPackage jogamp.opengl.es3 ImplJavaClass GLES3Impl Implements GLES3Impl GLBase @@ -29,6 +21,7 @@ Implements GLES3Impl GLES2 Implements GLES3Impl GL2ES3 Implements GLES3Impl GL3ES3 Implements GLES3Impl GL4ES3 +Implements GLES3Impl GLES3 HierarchicalNativeOutput false Include gl-common.cfg Include gl-common-extensions.cfg diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg index d1bd85641..c3a392c52 100644 --- a/make/config/jogl/gl-gl4bc.cfg +++ b/make/config/jogl/gl-gl4bc.cfg @@ -84,6 +84,8 @@ TagNativeBinding true # Ignore extensions that are already picked up via the GL2ES1 interface IgnoreExtension GL_EXT_point_parameters +IncludeAs CustomJavaCode GL4bc gl4bc-common-cpubufferJavaCode.java + # Add PixelStorei StateTracker CustomJavaCode GL4bcImpl private static final int params_offset = 0; // just a helper for JavaPrologue .. @@ -117,6 +119,7 @@ Include gl3ext-headers.cfg IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-common.java IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-gl4bc.java IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-gl2_es2.java + IncludeAs CustomCCode gl-impl-CustomCCode-gl4bc.c Import javax.media.opengl.GLES1 diff --git a/make/config/jogl/gl-if-es2.cfg b/make/config/jogl/gl-if-es2.cfg index aabd2d5a7..052722f40 100644 --- a/make/config/jogl/gl-if-es2.cfg +++ b/make/config/jogl/gl-if-es2.cfg @@ -17,6 +17,9 @@ Include gl-common-extensions.cfg Include gl2_es2-common.cfg Include gl2_es2-CustomJavaCode.cfg +IncludeAs CustomJavaCode GLES2 gl2_es1-common-cpubufferJavaCode.java +IncludeAs CustomJavaCode GLES2 gl2_es2-common-cpubufferJavaCode.java + # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true diff --git a/make/config/jogl/gl-if-es3.cfg b/make/config/jogl/gl-if-es3.cfg new file mode 100644 index 000000000..33e41762a --- /dev/null +++ b/make/config/jogl/gl-if-es3.cfg @@ -0,0 +1,39 @@ +# This .cfg file is used to generate the GL interface. +JavaOutputDir gensrc/classes + +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GLES2.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL3ES3.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL4ES3.java +ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java + +Package javax.media.opengl +Style InterfaceOnly +JavaClass GLES3 +#Extends GLES3 GLBase +#Extends GLES3 GL +#Extends GLES3 GL2ES2 +#Extends GLES3 GL2ES3 +#Extends GLES3 GL3ES3 +Extends GLES3 GLES2 +Extends GLES3 GL4ES3 +HierarchicalNativeOutput false +Include gl-common.cfg +Include gl-common-gpubufferonly.cfg +Include gl-common-extensions.cfg +Include gl2_es3-common.cfg +Include gl2_es2-CustomJavaCode.cfg + +ForceExtension GL_ARB_ES3_compatibility + +# dummy procaddress config / force procaddress for comments +EmitProcAddressTable false +ProcAddressTableClassName DontGenerateProcAddressTableStuff +GetProcAddressTableExpr DontGenerateProcAddressTableStuff +ForceProcAddressGen __ALL__ + +# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums +TagNativeBinding true + diff --git a/make/config/jogl/gl-if-gl.cfg b/make/config/jogl/gl-if-gl.cfg index 4137cae8e..5c9e4caa2 100644 --- a/make/config/jogl/gl-if-gl.cfg +++ b/make/config/jogl/gl-if-gl.cfg @@ -8,6 +8,7 @@ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.jav HierarchicalNativeOutput false Include gl-common.cfg +Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl-if-gl-ignores.cfg Include gl-if-gl2_es2-ignores.cfg diff --git a/make/config/jogl/gl-if-gl2.cfg b/make/config/jogl/gl-if-gl2.cfg index 60efd73af..37f7b6feb 100644 --- a/make/config/jogl/gl-if-gl2.cfg +++ b/make/config/jogl/gl-if-gl2.cfg @@ -5,6 +5,7 @@ NativeOutputDir gensrc/native/jogl/gl2 ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java +ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2GL3.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java @@ -26,6 +27,8 @@ Include gl-if-gl3-ignores.cfg Include gl-if-gl4-ignores.cfg IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl_compat.java +IncludeAs CustomJavaCode GL2 gl2_es2-common-cpubufferJavaCode.java +IncludeAs CustomJavaCode GL2 gl2-common-cpubufferJavaCode.java # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true diff --git a/make/config/jogl/gl-if-gl2_es1.cfg b/make/config/jogl/gl-if-gl2_es1.cfg index 04d78f51e..b533e83c3 100644 --- a/make/config/jogl/gl-if-gl2_es1.cfg +++ b/make/config/jogl/gl-if-gl2_es1.cfg @@ -110,6 +110,8 @@ Ignore GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES CustomJavaCode GL2ES1 public void glOrtho(double left, double right, double bottom, double top, double near_val, double far_val); CustomJavaCode GL2ES1 public void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar); +IncludeAs CustomJavaCode GL2ES1 gl2_es1-common-cpubufferJavaCode.java + # dummy procaddress config / force procaddress for comments EmitProcAddressTable false ProcAddressTableClassName DontGenerateProcAddressTableStuff diff --git a/make/config/jogl/gl-if-gl2_es2.cfg b/make/config/jogl/gl-if-gl2_es2.cfg index 0ad140eb2..db5489d06 100644 --- a/make/config/jogl/gl-if-gl2_es2.cfg +++ b/make/config/jogl/gl-if-gl2_es2.cfg @@ -13,6 +13,7 @@ Extends GL2ES2 GL HierarchicalNativeOutput false Include gl-common.cfg +Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl2_es2-common.cfg Include gl-if-gl2_es2-ignores.cfg diff --git a/make/config/jogl/gl-if-gl2_es3.cfg b/make/config/jogl/gl-if-gl2_es3.cfg index f44c9b393..112bc5434 100644 --- a/make/config/jogl/gl-if-gl2_es3.cfg +++ b/make/config/jogl/gl-if-gl2_es3.cfg @@ -17,6 +17,7 @@ ExtendedInterfaceSymbolsOnly ../build-temp/gluegen-set/javax/media/opengl/GL2ES3 HierarchicalNativeOutput false Include gl-common.cfg +Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl2_es3-common.cfg Include gl-if-gl2_es3-ignores.cfg diff --git a/make/config/jogl/gl-if-gl2_gl3.cfg b/make/config/jogl/gl-if-gl2_gl3.cfg index 467919328..532a670e6 100644 --- a/make/config/jogl/gl-if-gl2_gl3.cfg +++ b/make/config/jogl/gl-if-gl2_gl3.cfg @@ -16,6 +16,7 @@ ExtendedInterfaceSymbolsOnly ../build-temp/gluegen-set/javax/media/opengl/GL2GL3 HierarchicalNativeOutput false Include gl-common.cfg +Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg Include gl3-common.cfg diff --git a/make/config/jogl/gl-if-gl3.cfg b/make/config/jogl/gl-if-gl3.cfg index 09f51d6b0..d472fbc29 100644 --- a/make/config/jogl/gl-if-gl3.cfg +++ b/make/config/jogl/gl-if-gl3.cfg @@ -20,6 +20,7 @@ Extends GL3 GL3ES3 Extends GL3 GL2GL3 ImplPackage jogamp.opengl.gl3 Include gl-common.cfg +Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl3-desktop.cfg Include gl3-common.cfg diff --git a/make/config/jogl/gl-if-gl3bc.cfg b/make/config/jogl/gl-if-gl3bc.cfg index bca3d61e6..5172c726c 100644 --- a/make/config/jogl/gl-if-gl3bc.cfg +++ b/make/config/jogl/gl-if-gl3bc.cfg @@ -34,7 +34,7 @@ Include gl-desktop.cfg Include gl3-desktop.cfg Include gl-if-gl4-ignores.cfg -IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl_compat.java +IncludeAs CustomJavaCode GL3bc gl3bc-common-cpubufferJavaCode.java # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true diff --git a/make/config/jogl/gl-if-gl4.cfg b/make/config/jogl/gl-if-gl4.cfg index 4b19b448e..144c10ad2 100644 --- a/make/config/jogl/gl-if-gl4.cfg +++ b/make/config/jogl/gl-if-gl4.cfg @@ -23,6 +23,7 @@ JavaClass GL4 Extends GL4 GL4ES3 Extends GL4 GL3 Include gl-common.cfg +Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl3-desktop.cfg Include gl3-common.cfg diff --git a/make/config/jogl/gl-if-gl4_es3.cfg b/make/config/jogl/gl-if-gl4_es3.cfg index cd9c17f27..6233d530a 100644 --- a/make/config/jogl/gl-if-gl4_es3.cfg +++ b/make/config/jogl/gl-if-gl4_es3.cfg @@ -20,6 +20,7 @@ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.jav HierarchicalNativeOutput false Include gl-common.cfg +Include gl-common-gpubufferonly.cfg Include gl-common-extensions.cfg Include gl2_es3-common.cfg Include gl-if-gl2_es3-ignores.cfg diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java index 5c58f6cc4..38deb3399 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java @@ -48,7 +48,7 @@ public final boolean isGLES1() { @Override public final boolean isGLES2() { - return true; + return !_isES3; } @Override diff --git a/make/config/jogl/gl2-common-cpubufferJavaCode.java b/make/config/jogl/gl2-common-cpubufferJavaCode.java new file mode 100644 index 000000000..50a97b3df --- /dev/null +++ b/make/config/jogl/gl2-common-cpubufferJavaCode.java @@ -0,0 +1,13 @@ + + /** Entry point to C language function: <code> void {@native glDrawElementsInstanced}(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei instancecount); </code> <br>Part of <code>GL_ES_VERSION_3_0</code>, <code>GL_VERSION_3_1</code>; <code>GL_ARB_draw_instanced</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawElementsInstanced(int mode, int count, int type, Buffer indices, int instancecount); + + /** Entry point to C language function: <code> void {@native glDrawRangeElements}(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices); </code> <br>Part of <code>GL_VERSION_1_2</code>, <code>GL_ES_VERSION_3_0</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawRangeElements(int mode, int start, int end, int count, int type, Buffer indices); + + /** Entry point to C language function: <code> void {@native glVertexAttribIPointer}(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); </code> <br>Part of <code>GL_ES_VERSION_3_0</code>, <code>GL_VERSION_3_0</code> + @param pointer a direct only {@link java.nio.Buffer} */ + public void glVertexAttribIPointer(int index, int size, int type, int stride, Buffer pointer); + diff --git a/make/config/jogl/gl2_es1-common-cpubufferJavaCode.java b/make/config/jogl/gl2_es1-common-cpubufferJavaCode.java new file mode 100644 index 000000000..39bc141b8 --- /dev/null +++ b/make/config/jogl/gl2_es1-common-cpubufferJavaCode.java @@ -0,0 +1,4 @@ + /** Entry point to C language function: <code> void {@native glDrawElements}(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices); </code> <br>Part of <code>GL_VERSION_ES_CL_CM</code>, <code>GL_VERSION_1_1</code>, <code>GL_ES_VERSION_2_0</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawElements(int mode, int count, int type, Buffer indices); + diff --git a/make/config/jogl/gl2_es2-common-cpubufferJavaCode.java b/make/config/jogl/gl2_es2-common-cpubufferJavaCode.java new file mode 100644 index 000000000..fe6820e1f --- /dev/null +++ b/make/config/jogl/gl2_es2-common-cpubufferJavaCode.java @@ -0,0 +1,4 @@ + /** Entry point to C language function: <code> void {@native glVertexAttribPointer}(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * ptr); </code> <br>Part of <code>GL_ES_VERSION_2_0</code>, <code>GL_VERSION_2_0</code> + @param ptr a direct only {@link java.nio.Buffer} */ + public void glVertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, Buffer ptr); + diff --git a/make/config/jogl/gl3bc-common-cpubufferJavaCode.java b/make/config/jogl/gl3bc-common-cpubufferJavaCode.java new file mode 100644 index 000000000..d5d2ec836 --- /dev/null +++ b/make/config/jogl/gl3bc-common-cpubufferJavaCode.java @@ -0,0 +1,13 @@ + + /** Entry point to C language function: <code> void {@native glDrawElementsBaseVertex}(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); </code> <br>Part of <code>GL_ARB_draw_elements_base_vertex</code>, <code>GL_VERSION_3_2</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawElementsBaseVertex(int mode, int count, int type, Buffer indices, int basevertex); + + /** Entry point to C language function: <code> void {@native glDrawElementsInstancedBaseVertex}(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei instancecount, GLint basevertex); </code> <br>Part of <code>GL_ARB_draw_elements_base_vertex</code>, <code>GL_VERSION_3_2</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawElementsInstancedBaseVertex(int mode, int count, int type, Buffer indices, int instancecount, int basevertex); + + /** Entry point to C language function: <code> void {@native glDrawRangeElementsBaseVertex}(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); </code> <br>Part of <code>GL_ARB_draw_elements_base_vertex</code>, <code>GL_VERSION_3_2</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawRangeElementsBaseVertex(int mode, int start, int end, int count, int type, Buffer indices, int basevertex); + diff --git a/make/config/jogl/gl4bc-common-cpubufferJavaCode.java b/make/config/jogl/gl4bc-common-cpubufferJavaCode.java new file mode 100644 index 000000000..a29f540fa --- /dev/null +++ b/make/config/jogl/gl4bc-common-cpubufferJavaCode.java @@ -0,0 +1,21 @@ + + /** Entry point to C language function: <code> void {@native glDrawArraysIndirect}(GLenum mode, const GLvoid * indirect); </code> <br>Part of <code>GL_VERSION_4_0</code>, <code>GL_ARB_draw_indirect</code> + @param indirect a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawArraysIndirect(int mode, Buffer indirect); + + /** Entry point to C language function: <code> void {@native glDrawElementsIndirect}(GLenum mode, GLenum type, const GLvoid * indirect); </code> <br>Part of <code>GL_VERSION_4_0</code>, <code>GL_ARB_draw_indirect</code> + @param indirect a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawElementsIndirect(int mode, int type, Buffer indirect); + + /** Entry point to C language function: <code> void {@native glDrawElementsInstancedBaseInstance}(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance); </code> <br>Part of <code>GL_VERSION_4_2</code>, <code>GL_ARB_base_instance</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawElementsInstancedBaseInstance(int mode, int count, int type, Buffer indices, int instancecount, int baseinstance); + + /** Entry point to C language function: <code> void {@native glDrawElementsInstancedBaseVertexBaseInstance}(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); </code> <br>Part of <code>GL_VERSION_4_2</code>, <code>GL_ARB_base_instance</code> + @param indices a direct or array-backed {@link java.nio.Buffer} */ + public void glDrawElementsInstancedBaseVertexBaseInstance(int mode, int count, int type, Buffer indices, int instancecount, int basevertex, int baseinstance); + + /** Entry point to C language function: <code> void {@native glVertexAttribLPointer}(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); </code> <br>Part of <code>GL_VERSION_4_1</code>, <code>GL_ARB_vertex_attrib_64bit</code> + @param pointer a direct only {@link java.nio.Buffer} */ + public void glVertexAttribLPointer(int index, int size, int type, int stride, Buffer pointer); + |