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

Changes

Summary

  1. Fix GraphicsConfigurationFactory: Map factory to device-type _and_ (details)
  2. SWT Update: SWT GLCanvas creates lazy when resource is ready; Create new (details)
  3. Add property: 'jogl.disable.opengles' to disable querying and using (details)
Commit 00bef95008b02cc71e166da122884402e9381f44 by Sven Gothel
Fix GraphicsConfigurationFactory: Map factory to device-type _and_ capabilities-type; Add a pre-set nativeVisualID to chooseGraphicsConfiguration(..)

Map factory to device-type _and_ capabilities-type:
  - Allows using different GraphicsConfigurationFactory implementations for different capabilities-types.
    Previous impl. failed to use an OpenGL agnostic CapabilitiesImmutable for 'chooseGraphicsConfiguration(..)'
    since only the GL aware factory was mapped. The latter failed since it expected a GLCapabilitiesImmutable.

  - The passed capabilities-type as well as device-type given at getFactory(..)
    is traversed top-to-down to find a most suitable factory:
        For-All devT := getTopDownDeviceTypes(deviceType)
            For-All capsT := getTopDownCapabilitiesTypes(capabilitiesType)
               f = factory.get(devT, capsT);
               if(f) { return f; }
            end
        end

Add a pre-set nativeVisualID to chooseGraphicsConfiguration(..)
  - In situations where a native visualID is already chosen [by external means for example],
    but we still need to query a matching GraphicsConfiguration - we require to pass
    a non VisualIDHolder.VID_UNDEFINED nativeVisualID.

    We had a hack implemented before within some implementations and their static calls,
    however an agnostic mechanism is required to implement new NativeSurface/Window's
    platform agnostic.

  - X11GLXGraphicsConfigurationFactory: respect a pre-set xvisualID

  - X11GLXDrawableFactory.createProxySurfaceImpl(..) queries the given windowHandle's
    visualID and 'chooses' the configuration accordingly. If the visualID is undefined
    an exception is thrown, since window is invalid.
    These mechanics are implicit for Windows and OSX.

Fix X11GLXGraphicsConfiguration.updateGraphicsConfiguration():
  - Skip any action if a valid X11GLCapabilities is already chosen, i.e. w/ visualID.
    Otherwise choose a suitable configuration incl. visualID.
    The latter is quite impossible and invalid, since visualID must be defined at window creation time
    and the update method is issued with a valid window.

X11 - Misc:
  - Added 'int jogamp.nativewindow.x11.X11Lib.GetVisualIDFromWindow(..)'

  - All returned visualID's are of type 'int'
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/DefaultGraphicsConfigurationFactoryImpl.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXAWTCGLGraphicsConfigurationFactory.java (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsConfiguration.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/intel/gdl/Window.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfiguration.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/windows/WindowsWindow.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/x11/X11GraphicsConfigurationFactory.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/x11/X11Window.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/x11/awt/X11AWTGraphicsConfigurationFactory.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/kd/KDWindow.java (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsScreen.java (diff)
The file was modified src/nativewindow/native/x11/Xmisc.c (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/broadcom/egl/Window.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfigurationFactory.java (diff)
The file was modified src/newt/classes/jogamp/newt/OffscreenWindow.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modified make/config/nativewindow/x11-CustomJavaCode.java (diff)
Commit 7bb5885fc3a904f49e22f0c8cbf747d9b189a7ba by Sven Gothel
SWT Update: SWT GLCanvas creates lazy when resource is ready; Create new NewtCanvasSWT allowing to parent NEWT windows natively.

SWT GLCanvas creates lazy when resource is ready
  - Ensures drawable and context are created when size > zero and native visualID is valid.
    The latter is platform dependent.
  - Note that you cannot utilize custom GLCapabilities w/ this one,
    since the configurations is already realized - use NewtCanvasSWT.

Create new NewtCanvasSWT allowing to parent NEWT windows natively:
  - Similar to NewtCanvasAWT
  - Allows attaching / detaching NEWT windows

NewtCanvasAWT: Public setNEWTChild(..) fixed

Added test cases for the above - tested on Linux, OSX and Windows w/ SWT

Note: As usual for OSX, add -XstartOnFirstThread

Details:

- NEWT Display has new method: 'EDTUtil setEDTUtil(EDTUtil)'
  allowing to set a custom event dispatch utility.
  We use this to set our SWTEDTUtil for using NEWT w/ SWT
  complying w/ SWT threading constraints.
The file was modified make/scripts/tests-x64.bat (diff)
The file was modified src/newt/classes/jogamp/newt/driver/awt/AWTDisplay.java (diff)
The file was modified make/build-common.xml (diff)
The file was modified make/build-newt.xml (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
The file was modified src/newt/native/MacWindow.m (diff)
The file was modified src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
The file was modified etc/profile.jogl (diff)
The file was modified src/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modified make/scripts/tests.sh (diff)
The file was modified make/build-test.xml (diff)
The file was modified src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTJOGLGLCanvas01GLn.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTGLn.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/Display.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modified src/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modified make/stub_includes/win32/wingdi.h (diff)
The file was modified src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04AWT.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modified src/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modified make/scripts/java-win64-dbg.bat (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04SWT.java (diff)
The file was modified src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/windows/WindowsWindow.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTAccessor02GLn.java (diff)
The file was modified src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01aSWT.java (diff)
Commit 93ab5e38ed59d6df101886ac8a2207955b0cea7f by Sven Gothel
Add property: 'jogl.disable.opengles' to disable querying and using OpenGL ES

This might be required by a few older buggy ES implementations.

Also assists to discable ANGLE is not properly detected (?)
on Windows 32bit - the latter causes SEGV within FF and Chrome.

TODO: Fix ANGLE detection and usage within broser

NOTE: ANGLE works fine standalone ..
The file was modified src/jogl/classes/javax/media/opengl/GLProfile.java (diff)