diff options
author | Sven Gothel <[email protected]> | 2015-08-30 04:59:11 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2015-08-30 04:59:11 +0200 |
commit | 18e487fdfe6f27564d976aa3a568d0ddc272d8ba (patch) | |
tree | 48bb847e2191da2eedeaf51376296221895aa68d | |
parent | 2db11ad80582af8715071b47b5331b79001d511c (diff) |
Bug 1203: OpenGL ES 3.1 NVIDIA 355.06's EGL impl. is unstable requires GLRendererQuirk.SingletonEGLDisplayOnly
Test cases with multiple EGLDisplay init/terminate result to crashes
due to NVidia's 355.06 driver.
Hence enable GLRendererQuirk.SingletonEGLDisplayOnly
if EGL vendor is NVIDIA until a good driver version is known.
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java | 7 | ||||
-rw-r--r-- | src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java index 55c02d92a..7898566f3 100644 --- a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java +++ b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java @@ -287,6 +287,7 @@ public class GLRendererQuirks { * <li>EGL_VERSION 1.4</li> * <li>GL_VENDOR NVIDIA Corporation</li> * <li>GL_VERSION OpenGL ES 3.0 331.38 (probably w/ 1st NV EGL lib on x86)</li> + * <li>GL_VERSION OpenGL ES 3.1 NVIDIA 355.06 (unstable)</li> * <li>Platform X11</li> * <li>CPU Family {@link Platform.CPUFamily#X86}</li> * </ul> @@ -393,7 +394,7 @@ public class GLRendererQuirks { * </p> */ public static final int NeedSharedObjectSync = 20; - + /** * No reliable ARB_create_context implementation, * even if driver claims otherwise. @@ -401,8 +402,8 @@ public class GLRendererQuirks { * Some drivers wrongly claim to support ARB_create_context. * However, the creation of such context fails: * <pre> - * com.jogamp.opengl.GLException: AWT-EventQueue-0: WindowsWGLContex.createContextImpl ctx !ARB, profile > GL2 - * requested (OpenGL >= 3.0.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 2.1 (Compat profile, FBO, hardware) + * com.jogamp.opengl.GLException: AWT-EventQueue-0: WindowsWGLContex.createContextImpl ctx !ARB, profile > GL2 + * requested (OpenGL >= 3.0.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 2.1 (Compat profile, FBO, hardware) * - 2.1.8787 * </pre> * </p> diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java index 2e5ee0854..fed02f34e 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java @@ -537,10 +537,10 @@ public class EGLDrawableFactory extends GLDrawableFactoryImpl { } // Probe for GLRendererQuirks.SingletonEGLDisplayOnly final boolean singletonEGLDisplayOnlyVendor, singletonEGLDisplayOnlyProbe; - /* if( defaultDeviceEGLFeatures.vendor.contains("NVIDIA") ) { // May use for later .. + if( defaultDeviceEGLFeatures.vendor.contains("NVIDIA") ) { // OpenGL ES 3.1 NVIDIA 355.06 unstable singletonEGLDisplayOnlyVendor=true; singletonEGLDisplayOnlyProbe=false; - } else */ { + } else { singletonEGLDisplayOnlyVendor=false; final long secondEGLDisplay = EGL.eglGetDisplay(EGL.EGL_DEFAULT_DISPLAY); singletonEGLDisplayOnlyProbe = EGL.EGL_NO_DISPLAY == secondEGLDisplay; |