Jogamp
debug verbosity ; adaption of gluegen fix of DynamicLibraryBundle
authorSven Gothel <sgothel@jausoft.com>
Fri, 5 Aug 2011 15:46:56 +0000 (17:46 +0200)
committerSven Gothel <sgothel@jausoft.com>
Fri, 5 Aug 2011 15:46:56 +0000 (17:46 +0200)
fix debug log in case no device has been initialized

use gluegen's fix of DynamicLibraryBundle.isGlueLibComplete()
- see gluegen commit 6281499e53555fd8ab26345ffce4c4d09bf57a09

src/jogl/classes/javax/media/opengl/GLProfile.java
src/jogl/classes/jogamp/opengl/DesktopGLDynamicLibraryBundleInfo.java
src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java

index f5f2e53..5882046 100644 (file)
@@ -1202,7 +1202,7 @@ public class GLProfile {
             if(null != desktopFactory) {
                 DesktopGLDynamicLookupHelper glLookupHelper = (DesktopGLDynamicLookupHelper) desktopFactory.getGLDynamicLookupHelper(0);
                 if(null!=glLookupHelper) {
-                    hasDesktopGLFactory = glLookupHelper.hasGLBinding();
+                    hasDesktopGLFactory = glLookupHelper.isLibComplete() && hasGL234Impl;
                 }
             }
         } catch (LinkageError le) {
@@ -1324,8 +1324,10 @@ public class GLProfile {
 
         boolean addedDesktopProfile = false;
         boolean addedEGLProfile = false;
-
-        if( hasDesktopGLFactory && desktopFactory.getIsDeviceCompatible(device)) {
+        boolean deviceIsDesktopCompatible = false;
+        boolean deviceIsEGLCompatible = false;
+        
+        if( hasDesktopGLFactory && ( deviceIsDesktopCompatible = desktopFactory.getIsDeviceCompatible(device)) ) {
             // 1st pretend we have all Desktop and EGL profiles ..
             computeProfileMap(device, true /* desktopCtxUndef*/, true  /* esCtxUndef */);
 
@@ -1343,7 +1345,8 @@ public class GLProfile {
                                                 1, 5, GLContext.CTX_PROFILE_COMPAT|GLContext.CTX_OPTION_ANY);
             }
             addedDesktopProfile = computeProfileMap(device, false /* desktopCtxUndef*/, false /* esCtxUndef */);
-        } else if( null!=eglFactory && ( hasGLES2Impl || hasGLES1Impl ) && eglFactory.getIsDeviceCompatible(device)) {
+        } else if( hasEGLFactory && ( hasGLES2Impl || hasGLES1Impl ) && 
+                   ( deviceIsEGLCompatible = eglFactory.getIsDeviceCompatible(device)) ) {
             // 1st pretend we have all EGL profiles ..
             computeProfileMap(device, false /* desktopCtxUndef*/, true /* esCtxUndef */);
 
@@ -1371,7 +1374,13 @@ public class GLProfile {
         } else {
             setProfileMap(device, new HashMap()); // empty
             if(DEBUG) {
-                System.err.println("GLProfile: EGLFactory - Device is not available: "+device);
+                System.err.println("GLProfile: device could not be initialized: "+device);
+                System.err.println("GLProfile: compatible w/ desktop: "+deviceIsDesktopCompatible+
+                                            ", egl "+deviceIsEGLCompatible);
+                System.err.println("GLProfile: desktoplFactory      "+desktopFactory);
+                System.err.println("GLProfile: eglFactory           "+eglFactory);
+                System.err.println("GLProfile: hasGLES1Impl         "+hasGLES1Impl);
+                System.err.println("GLProfile: hasGLES2Impl         "+hasGLES2Impl);
             }
         }
 
index dc33541..e548ad6 100644 (file)
@@ -32,21 +32,14 @@ import java.util.List;
 import java.util.ArrayList;
 
 public abstract class DesktopGLDynamicLibraryBundleInfo extends GLDynamicLibraryBundleInfo {
-    private static int posGlueLibGLDESKTOP;
     private static List/*<String>*/ glueLibNames;
     static {
         glueLibNames = new ArrayList();
 
         glueLibNames.addAll(getGlueLibNamesPreload());
-
-        posGlueLibGLDESKTOP = glueLibNames.size();
         glueLibNames.add("jogl_desktop");
     }
 
-    public static final int getGlueLibPosGLDESKTOP() { 
-        return posGlueLibGLDESKTOP; 
-    }
-
     public DesktopGLDynamicLibraryBundleInfo() {
         super();
     }
index 4879c61..2d2d1c5 100644 (file)
@@ -39,10 +39,6 @@ public class DesktopGLDynamicLookupHelper extends GLDynamicLookupHelper {
 
     public DesktopGLDynamicLibraryBundleInfo getDesktopGLBundleInfo() { return (DesktopGLDynamicLibraryBundleInfo) getBundleInfo(); }
 
-    public boolean hasGLBinding() {
-        return isToolLibLoaded() && isGlueLibLoaded(DesktopGLDynamicLibraryBundleInfo.getGlueLibPosGLDESKTOP());
-    }
-
     public synchronized boolean loadGLULibrary() {
         /** hacky code .. where all platform GLU libs are tried ..*/
         if(null==gluLib) {
http://JogAmp.org git info: FAQ, tutorial and man pages.