From c80147e3112f3ac87e004c19819b820b42b737df Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Thu, 5 Dec 2019 07:13:07 +0100 Subject: Bug 1156, Bug 1401: Disable DesktopGL on EGL w/ DRM/GBM earlier in initialization Was within hasOpenGLDesktopSupport(), but then DesktopGL libs would have been already loaded and looked-up. This is not necessary and only wastes resources and time. --- .../jogamp/opengl/egl/EGLDrawableFactory.java | 42 +++++++++++----------- 1 file changed, 22 insertions(+), 20 deletions(-) (limited to 'src/jogl') diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java index eda2610a4..14dc873fc 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java @@ -302,9 +302,28 @@ public class EGLDrawableFactory extends GLDrawableFactoryImpl { System.err.println("Info: EGLDrawableFactory: EGL ES1 - NOPE (ES1 lib)"); } } - // Setup: eglGLnDynamicLookupHelper + /** + * Setup: eglGLnDynamicLookupHelper + * + * TODO Bug 1401: Mesa 18.3.6 issues using EGL_PLATFORM_GBM_KHR and OpenGL Desktop Profile + * Using EGL_GBM with OpenGL results in an unsatisfied linkage error using desktop GL, see: + * + * java.lang.UnsatisfiedLinkError: 'int jogamp.opengl.gl4.GL4bcImpl.dispatch_glGetError1(long)' + * at jogamp.opengl.gl4.GL4bcImpl.dispatch_glGetError1(Native Method) + * at jogamp.opengl.gl4.GL4bcImpl.glGetError(GL4bcImpl.java:648) + * at jogamp.opengl.GLContextImpl.setGLFunctionAvailability(GLContextImpl.java:2186) + * at jogamp.opengl.GLContextImpl.createContextARBVersions(GLContextImpl.java:1427) + * at jogamp.opengl.GLContextImpl.createContextARBMapVersionsAvailable(GLContextImpl.java:1366) + * at jogamp.opengl.GLContextImpl.mapGLVersions(GLContextImpl.java:1223) + * at jogamp.opengl.GLContextImpl.createContextARB(GLContextImpl.java:968) + * at jogamp.opengl.egl.EGLContext.createImpl(EGLContext.java:318) + * at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:769) + * at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:652) + * at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:590) + * at jogamp.opengl.egl.EGLDrawableFactory$SharedResourceImplementation.mapAvailableEGLESConfig(EGLDrawableFactory.java:858) + */ if( null == eglGLnDynamicLookupHelper ) { - if( !GLProfile.disableOpenGLDesktop ) { + if( !GLProfile.disableOpenGLDesktop && !isDRM_GBM ) { GLDynamicLookupHelper tmp=null; try { tmp = new GLDynamicLookupHelper(new EGLGLnDynamicLibraryBundleInfo()); @@ -951,26 +970,9 @@ public class EGLDrawableFactory extends GLDrawableFactoryImpl { * that even though initial OpenGL context can be created w/o 'EGL_KHR_create_context', * switching the API via 'eglBindAPI(EGL_OpenGL_API)' the latter 'eglCreateContext(..)' fails w/ EGL_BAD_ACCESS. * Hence we require both: OpenGL API support _and_ 'EGL_KHR_create_context'. - * - * TODO Bug 1401: Mesa 18.3.6 issues using EGL_PLATFORM_GBM_KHR and OpenGL Desktop Profile - * Using EGL_GBM with OpenGL results in an unsatisfied linkage error using desktop GL, see: - * - * java.lang.UnsatisfiedLinkError: 'int jogamp.opengl.gl4.GL4bcImpl.dispatch_glGetError1(long)' - * at jogamp.opengl.gl4.GL4bcImpl.dispatch_glGetError1(Native Method) - * at jogamp.opengl.gl4.GL4bcImpl.glGetError(GL4bcImpl.java:648) - * at jogamp.opengl.GLContextImpl.setGLFunctionAvailability(GLContextImpl.java:2186) - * at jogamp.opengl.GLContextImpl.createContextARBVersions(GLContextImpl.java:1427) - * at jogamp.opengl.GLContextImpl.createContextARBMapVersionsAvailable(GLContextImpl.java:1366) - * at jogamp.opengl.GLContextImpl.mapGLVersions(GLContextImpl.java:1223) - * at jogamp.opengl.GLContextImpl.createContextARB(GLContextImpl.java:968) - * at jogamp.opengl.egl.EGLContext.createImpl(EGLContext.java:318) - * at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:769) - * at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:652) - * at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:590) - * at jogamp.opengl.egl.EGLDrawableFactory$SharedResourceImplementation.mapAvailableEGLESConfig(EGLDrawableFactory.java:858) */ return null != eglGLnDynamicLookupHelper && - defaultDeviceEGLFeatures.hasGLAPI && defaultDeviceEGLFeatures.hasKHRCreateContext && !isDRM_GBM; + defaultDeviceEGLFeatures.hasGLAPI && defaultDeviceEGLFeatures.hasKHRCreateContext; } /** -- cgit v1.2.3