From 3317e7a427fbb81dd3d7daa8116c7d33166ed003 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Tue, 3 Feb 2015 21:18:02 +0100 Subject: Bug 1068 - Fix issue w/ unifying Surfaceless probing (commit 2120be14c7525ef051d105f9bb02294f78d17d28) Commit 2120be14c7525ef051d105f9bb02294f78d17d28 caused GLDrawableFactoryImpl.probeSurfacelessCtx(..) to be only called if appropriate, hence GLRendererQuirks.NoSurfacelessCtx was not set otherwise. This patch adds the required 'else' branch for the case GLDrawableFactoryImpl.probeSurfacelessCtx(..) is not called and issues GLDrawableFactoryImpl.setNoSurfacelessCtxQuirk(..). +++ Add Note to EGLDrawableFactory's shutdown: "sr.device.close() Issues eglTerminate(), which may cause SIGSEGV w/ NVIDIA 343.36 w/ TestGLProfile01NEWT" However keep this code enabled, since this seems to be a driver issue. +++ --- src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/jogl/classes/jogamp/opengl/egl') diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java index 9c91bc788..8e2535309 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java @@ -745,6 +745,8 @@ public class EGLDrawableFactory extends GLDrawableFactoryImpl { if( probeSurfacelessCtx(context, false /* restoreDrawable */) ) { zeroDrawable = context.getGLDrawable(); } + } else { + setNoSurfacelessCtxQuirk(context); } rendererQuirks[0] = context.getRendererQuirks(); ctxProfile[0] = context.getContextOptions(); @@ -814,7 +816,8 @@ public class EGLDrawableFactory extends GLDrawableFactoryImpl { } if (null != sr.device) { - // may cause JVM SIGSEGV: + // Issues eglTerminate(), which may cause SIGSEGV w/ NVIDIA 343.36 w/ TestGLProfile01NEWT + // May cause JVM SIGSEGV: sr.device.close(); sr.device = null; } -- cgit v1.2.3