From 6c0ad949be979d5fed95a1166d59100f7bf5580f Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 24 Apr 2011 12:21:36 +0200 Subject: Add unified support for GL_ARB_debug_output and GL_AMD_debug_output. If GL_ARB_debug_output is not available, but GL_AMD_debug_output exist, fallback to the latter, offering generic aliased methods translating the delta (AMD category <-> ARB source/type). Generic aliased methods reside in GLContext* Enable/Disable via GLContext and GLAutoDrawable. To enable the GLDebugOutput feature GLContext.enableGLDebugMessage(true) or GLContext.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be called _before_ context creation via GLContext.makeCurrent()! In case GLAutoDrawable is being used, GLAutoDrawable.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be issued before context creation via GLContext.makeCurrent()!. After context creation, the GLDebugOutput feature may be enabled or disabled at any time using this method. Verify both unit tests for usability. --- make/build-jogl.xml | 3 +++ make/config/jogl/gl-gl4bc.cfg | 4 ++++ make/scripts/tests.sh | 6 +++++- 3 files changed, 12 insertions(+), 1 deletion(-) (limited to 'make') diff --git a/make/build-jogl.xml b/make/build-jogl.xml index 6a0eca500..73b61e690 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -1217,6 +1217,8 @@ + + @@ -1343,6 +1345,7 @@ + diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg index 06a9c76f1..aafb9166b 100644 --- a/make/config/jogl/gl-gl4bc.cfg +++ b/make/config/jogl/gl-gl4bc.cfg @@ -51,6 +51,10 @@ ManuallyImplement glMapNamedBufferEXT ForceProcAddressGen glMapNamedBufferEXT JavaEpilogue glNamedBufferDataEXT bufferSizeTracker.setDirectStateBufferSize({0}, this, {1}); +# Manuall implement glDebugMessageCallback* using the proc address resolver +ForceProcAddressGen glDebugMessageCallbackARB +ForceProcAddressGen glDebugMessageCallbackAMD + # Force all of the methods to be emitted using dynamic linking so we # don't need to link against any emulation library on the desktop or # depend on the presence of an import library for a particular device diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index 4bb0ee028..a5e81f9cf 100755 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -72,6 +72,8 @@ function jrun() { #D_ARGS="-Djogl.debug.GraphicsConfiguration" #D_ARGS="-Djogl.debug.GLCanvas -Djogl.debug.GraphicsConfiguration" #D_ARGS="-Djogl.debug.GLCanvas" + #D_ARGS="-Djogl.debug.DebugGL -Djogl.debug.TraceGL" + #D_ARGS="-Djogl.debug.GLDebugMessageHandler" #D_ARGS="-Dnativewindow.debug.ToolkitLock.TraceLock" #D_ARGS="-Djogl.debug.graph.curve -Djogl.debug.GLSLCode" #D_ARGS="-Djogl.debug.graph.curve -Djogl.debug.GLSLState" @@ -119,6 +121,8 @@ function testawtmt() { #testnoawt com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen01GLPBufferNEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen02BitmapNEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT $* +#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLDebug00NEWT $* +testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLDebug01NEWT $* #testawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT $* #testawt com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextListNEWT $* #testnoawt com.jogamp.opengl.test.junit.newt.TestRemoteWindow01NEWT $* @@ -199,7 +203,7 @@ function testawtmt() { #testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestTransformFeedbackVaryingsBug407NEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestGLSLSimple01NEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestGLSLShaderState01NEWT $* -testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestGLSLShaderState02NEWT $* +#testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestGLSLShaderState02NEWT $* #testnoawt com.jogamp.opengl.test.junit.graph.TestRegionRendererNEWT01 $* #testnoawt com.jogamp.opengl.test.junit.graph.TestTextRendererNEWT01 $* -- cgit v1.2.3