diff options
author | Sven Gothel <[email protected]> | 2015-03-11 15:33:10 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2015-03-11 15:33:10 +0100 |
commit | 68391b118e93170c568edc21edad7f6b0c1f97a3 (patch) | |
tree | c0fd4e18d0bca4f1ca0875bf2d1d0df430afd09d /src/jogl/classes/com | |
parent | cd92c17175db0c3a3a04b5b327cfcb887bf8a7d7 (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 'src/jogl/classes/com')
3 files changed, 16 insertions, 14 deletions
diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/GLConfiguration.java b/src/jogl/classes/com/jogamp/gluegen/opengl/GLConfiguration.java index 878d7da37..d6f72ee29 100644 --- a/src/jogl/classes/com/jogamp/gluegen/opengl/GLConfiguration.java +++ b/src/jogl/classes/com/jogamp/gluegen/opengl/GLConfiguration.java @@ -290,10 +290,10 @@ public class GLConfiguration extends ProcAddressConfiguration { } } if( ignoreExtension ) { - LOG.log(INFO, getASTLocusTag(symbol), "Ignored symbol {0} of all extensions <{1}>", symbol.getAliasedString(), symExtensionNames); + LOG.log(INFO, getASTLocusTag(symbol), "Ignored symbol {0} of all extensions <{1}>", symbol, symExtensionNames); } else if( ignoredSymExtensionNames.size() > 0 ) { LOG.log(INFO, getASTLocusTag(symbol), "Not ignored symbol {0}; Ignored in <{1}>, but active in <{2}>", - symbol.getAliasedString(), ignoredSymExtensionNames, notIgnoredSymExtensionNames); + symbol, ignoredSymExtensionNames, notIgnoredSymExtensionNames); } } if( !ignoreExtension ) { @@ -307,14 +307,14 @@ public class GLConfiguration extends ProcAddressConfiguration { extSuffix = GLNameResolver.getExtensionSuffix(name, isGLFunc); if (getDropUniqVendorExtensions(extSuffix)) { LOG.log(INFO, getASTLocusTag(symbol), "Ignore UniqVendorEXT: {0}, vendor {1}, isGLFunc {2}, isGLEnum {3}", - symbol.getAliasedString(), extSuffix, isGLFunc, isGLEnum); + symbol, extSuffix, isGLFunc, isGLEnum); ignoreExtension = true; } } } if (!ignoreExtension) { LOG.log(INFO, getASTLocusTag(symbol), "Not ignored UniqVendorEXT: {0}, vendor {1}, isGLFunc {2}, isGLEnum {3}", - symbol.getAliasedString(), extSuffix, isGLFunc, isGLEnum); + symbol, extSuffix, isGLFunc, isGLEnum); } } if( ignoreExtension ) { @@ -326,8 +326,7 @@ public class GLConfiguration extends ProcAddressConfiguration { for(final Iterator<String> i=symExtensionNames.iterator(); i.hasNext(); ) { final String extensionName = i.next(); if ( extensionName != null && forcedExtensions.contains(extensionName) ) { - LOG.log(INFO, getASTLocusTag(symbol), "Not ignored symbol {0} of extension <{1}>", - symbol.getAliasedString(), extensionName); + LOG.log(INFO, getASTLocusTag(symbol), "Not ignored symbol {0} of extension <{1}>", symbol, extensionName); return true; } } diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java b/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java index 44e52e2fa..c1c2aa12b 100644 --- a/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java +++ b/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java @@ -51,7 +51,6 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.Set; /** * Emitter producing NativeSignature attributes. @@ -61,10 +60,10 @@ import java.util.Set; public class NativeSignatureEmitter extends GLEmitter { @Override - protected List<? extends FunctionEmitter> generateMethodBindingEmitters(final Set<MethodBinding> methodBindingSet, final FunctionSymbol sym) throws Exception { + protected List<? extends FunctionEmitter> generateMethodBindingEmitters(final FunctionSymbol sym) throws Exception { // Allow superclass to do most of the work for us - final List<? extends FunctionEmitter> res = super.generateMethodBindingEmitters(methodBindingSet, sym); + final List<? extends FunctionEmitter> res = super.generateMethodBindingEmitters(sym); // Filter out all non-JavaMethodBindingEmitters for (final Iterator<? extends FunctionEmitter> iter = res.iterator(); iter.hasNext();) { diff --git a/src/jogl/classes/com/jogamp/opengl/GLBufferStorage.java b/src/jogl/classes/com/jogamp/opengl/GLBufferStorage.java index 5db97d42f..35ecf8799 100644 --- a/src/jogl/classes/com/jogamp/opengl/GLBufferStorage.java +++ b/src/jogl/classes/com/jogamp/opengl/GLBufferStorage.java @@ -27,6 +27,7 @@ */ package com.jogamp.opengl; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.IntBuffer; @@ -40,9 +41,10 @@ import java.nio.IntBuffer; * <p> * Buffer storage is created via: * <ul> - * <li><code>glBufferStorage</code> - storage creation with target</li> - * <li>{@link GL#glBufferData(int, long, java.nio.Buffer, int)} - storage recreation with target</li> - * <li>{@link GL2#glNamedBufferDataEXT(int, long, java.nio.Buffer, int)} - storage recreation, direct</li> + * <li>{@link GL#glBufferData(int, long, java.nio.Buffer, int)} - storage creation via target</li> + * <li>{@link GL2#glNamedBufferData(int, long, java.nio.Buffer, int)} - storage creation, direct</li> + * <li>{@link GL4#glBufferStorage(int, long, Buffer, int)} - storage creation via target</li> + * <li>{@link GL4#glNamedBufferStorage(int, long, Buffer, int)} - storage creation, direct</li> * </ul> * Note that storage <i>recreation</i> as mentioned above also invalidate a previous storage instance, * i.e. disposed the buffer's current storage if exist and attaches a new storage instance. @@ -52,7 +54,9 @@ import java.nio.IntBuffer; * <ul> * <li>{@link GL#glDeleteBuffers(int, IntBuffer)} - explicit, direct, via {@link #notifyBuffersDeleted(int, IntBuffer)} or {@link #notifyBuffersDeleted(int, int[], int)}</li> * <li>{@link GL#glBufferData(int, long, java.nio.Buffer, int)} - storage recreation via target</li> - * <li>{@link GL2#glNamedBufferDataEXT(int, long, java.nio.Buffer, int)} - storage recreation, direct</li> + * <li>{@link GL2#glNamedBufferData(int, long, java.nio.Buffer, int)} - storage recreation, direct</li> + * <li>{@link GL4#glBufferStorage(int, long, Buffer, int)} - storage recreation via target</li> + * <li>{@link GL4#glNamedBufferStorage(int, long, Buffer, int)} - storage recreation, direct</li> * </ul> * </p> * <p> @@ -112,7 +116,7 @@ public abstract class GLBufferStorage { * created via {@link GL#glBufferData(int, long, java.nio.Buffer, int)}. * <p> * Returns <code>false</code> if buffer's storage is immutable, i.e. - * created via <code>glBufferStorage</code>. FIXME: Add GL 4.4 support! + * created via {@link GL4#glBufferStorage(int, long, Buffer, int)}. * </p> * @return */ |