From 2df3bea10859ee2f2c4b3622f3b610b17a5749d6 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Tue, 13 Apr 2010 21:24:44 +0200
Subject: ATI (fglrx) PBuffer/X11Display bug workaround/cleanup

    - See https://bugzilla.mozilla.org/show_bug.cgi?id=486277

    - Description:
        - To use PBuffer, a context must be current

        - X11Display cannot be switched while using the PBuffer
          [within one thread]. Hence we shall try harder to reuse
          _the_ user configured X11Display - whenever possible.
          This is actually a good thing, ie cleanup up our
          code again.

    - Changes to workaround/cleanup:
        - GLDrawableFactory* methods 'canCreate*()'
          are changed to 'canCreate*(AbstractGraphicsDevice)'
          to allow pipelining the X11Display.
          This reduces the overhead of using a local TLS X11Display.

    - WindowsDummyWGLDrawable cstr gets the GLProfile as a parameter now,
      this is done while adding X11DummyGLXDrawable - forseeing the
      usecase to query available GLProfiles at startup.

    - X11DummyGLXDrawable added, following the WindowsDummyWGLDrawable path
      to have a dummy GLContext current to fix the ATI bug.

NativeWindow X11:
    - Add XIOErrorHandler to identify the fatal failure
      of closing a Display (-> ATI bug).

Build:
    - Adding ant.jar and ant-junit.jar to the junit compile/run classpath
    -

Misc:
    - Fix: CreateDummyWindow(..) returns a HWND, not a HDC
    - mapToRealGLFunctionName: Added mapping for X11/GLX.
    - X11GLXGraphicsConfigurationFactory: Uncommented dead code 'createDefaultGraphicsConfigurationFBConfig'

Tests: Passed (Linux64bit: NVidia/ATI)

Todo: More tests on ATI, especially multithreading/X11Display usage.
---
 src/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

(limited to 'src/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java')

diff --git a/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java b/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java
index 10c70db99..04114a445 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java
@@ -153,11 +153,9 @@ public abstract class GLDrawableImpl implements GLDrawable {
   }
 
   public String toString() {
-    return getClass().getName()+"[realized "+getRealized()+
-                ",\n\tfactory   "+getFactory()+
-                ",\n\twindow    "+getNativeWindow()+
-                ",\n\trequested "+getRequestedGLCapabilities()+
-                ",\n\tchosen    "+getChosenGLCapabilities()+"]";
+    return getClass().getName()+"[Realized "+getRealized()+
+                ",\n\tFactory   "+getFactory()+
+                ",\n\tWindow    "+getNativeWindow()+"]";
   }
 
   protected GLDrawableFactory factory;
-- 
cgit v1.2.3