Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. NEWT X11 Fix (mainly ATI and multithreading) (details)
  2. ATI (fglrx) PBuffer/X11Display bug workaround/cleanup (details)
Commit 1c1053c6a8b669c067ae1316b9770871e213ea05 by Sven Gothel
NEWT X11 Fix (mainly ATI and multithreading)
    - EventDispatchThread -> EDTUtil
      Since the name leads to the assumptions that an instance is the EDT.
      EDTUtil manages the EDT within.

    - EDTUtil, no more reference to Display, but use a Runnable for the
      pumpMessage()

    - Window.destroy() check if already done

    - X11Window: Added XErrorHandler to catch BadWindow and BadAtom
      while dispatching events - it is possible that the resource
      is already freed. Also added an XIOErrorHandler to identify
      the fatal Display* inaccessibility.

Tests:
    - New junit/com/jogamp/test/junit/newt/TestWindows01NEWT.java
      Testing creation/destruction and double destruction (error case)

    - Fix: src/junit/com/jogamp/test/junit/jogl/offscreen/TestOffscreen01NEWT.java
      Properly holding all NEWT references ..

Misc:
    - Reduced redundant NEWT 'toString()' output (*Capabilities, ..)
    -
Commit 2df3bea10859ee2f2c4b3622f3b610b17a5749d6 by Sven Gothel
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.