From 10b2f2219306746f3a3af6043717f42ae32c31e3 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 1 Nov 2013 05:24:23 +0100 Subject: Clarify Bug 692: Unbinding a VAO does _not_ imply unbinding of set VBOs (spec doesn't mention it, and it does not show results w/ CPU sourced rendering) ; Clean up GLBuffer*Tracker + * Note that VAO initialization does unbind the VBO .. since otherwise they are still bound + * and the CPU_SRC test will fail!
+ * The OpenGL spec does not mention that unbinding a VAO will also unbind the bound VBOs + * during their setup.
+ * Local tests here on NV and AMD proprietary driver resulted in no ourput image + * when not unbinding said VBOs before the CPU_SRC tests.
+ * Hence Bug 692 Comment 5 is invalid, i.e. , + * and we should throw an exception to give users a hint! Leaving uncommented code in GLBufferStateTracker .. +++ - Clean up GLBuffer*Tracker - Use final - Use static final keyNotFound value. --- make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java | 2 +- make/config/jogl/gl-impl-CustomJavaCode-gles3.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'make/config/jogl') diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java index 30047278b..e7389de10 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java @@ -314,7 +314,7 @@ private final boolean checkBufferObject(boolean extensionAvail, return true; } if ( allowVAO ) { - buffer = bufferStateTracker.getBoundBufferObject(GL2GL3.GL_VERTEX_ARRAY_BINDING, this); + buffer = bufferStateTracker.getBoundBufferObject(GL2ES3.GL_VERTEX_ARRAY_BINDING, this); if( 0 != buffer && _context.getDefaultVAO() != buffer ) { return true; } diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java index 83bdd7691..1a1d7abe3 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java @@ -235,7 +235,7 @@ private final boolean checkBufferObject(boolean extensionAvail, return true; } if ( allowVAO ) { - buffer = bufferStateTracker.getBoundBufferObject(GLES3.GL_VERTEX_ARRAY_BINDING, this); + buffer = bufferStateTracker.getBoundBufferObject(GL2ES3.GL_VERTEX_ARRAY_BINDING, this); if( 0 != buffer && _context.getDefaultVAO() != buffer ) { return true; } -- cgit v1.2.3