diff options
author | Xerxes Rånby <[email protected]> | 2019-12-02 22:55:27 +0100 |
---|---|---|
committer | Xerxes Rånby <[email protected]> | 2019-12-02 22:55:27 +0100 |
commit | d3f454a3d8d608f9efe90987af3f08db89ad6e25 (patch) | |
tree | 3ac26e8a72033da74ebb78a4f1ef4d228aeaa33c /src/jogl/classes | |
parent | 56045ef6f2b33509754fbff82affca94290ae6e0 (diff) |
VC4: Broadcom uses libbrcmEGL.so, libbrcmGLESv2.so, libbrcmOpenVG.so and libbrcmWFC.so since 7 Jul 2016
Raspbian integration (two libGLES side-by-side)
https://github.com/anholt/mesa/issues/24
Diffstat (limited to 'src/jogl/classes')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/egl/EGLDynamicLibraryBundleInfo.java | 16 | ||||
-rw-r--r-- | src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java | 4 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/egl/EGLDynamicLibraryBundleInfo.java index 1b433cc30..8226c83d0 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLDynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLDynamicLibraryBundleInfo.java @@ -34,6 +34,8 @@ import java.util.List; import jogamp.common.os.PlatformPropsImpl; import jogamp.opengl.GLDynamicLibraryBundleInfo; +import jogamp.nativewindow.BcmVCArtifacts; + import com.jogamp.common.os.AndroidVersion; import com.jogamp.common.os.Platform; import com.jogamp.opengl.egl.EGL; @@ -97,8 +99,16 @@ public abstract class EGLDynamicLibraryBundleInfo extends GLDynamicLibraryBundle protected final List<String> getEGLLibNamesList() { final List<String> eglLibNames = new ArrayList<String>(); + /** + * Prefer libbrcmEGL.so over libEGL.so.1 for proprietary + * Broadcom graphics when the VC4 DRM Xorg driver isn't present + */ + final boolean bcm_vc_iv_quirk = BcmVCArtifacts.guessVCIVUsed(false); + // this is the default EGL lib name, according to the spec - eglLibNames.add("libEGL.so.1"); + if(!bcm_vc_iv_quirk) { + eglLibNames.add("libEGL.so.1"); + } // try these as well, if spec fails eglLibNames.add("libEGL.so"); @@ -108,6 +118,10 @@ public abstract class EGLDynamicLibraryBundleInfo extends GLDynamicLibraryBundle // where our tool does not add it. eglLibNames.add("libEGL"); + if(bcm_vc_iv_quirk) { + eglLibNames.add("libbrcmEGL.so"); + } + return eglLibNames; } diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java index 866e57ad7..45424c7e8 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java @@ -52,7 +52,7 @@ public final class EGLES2DynamicLibraryBundleInfo extends EGLDynamicLibraryBundl final List<String> libsGL = new ArrayList<String>(); /** - * Prefer libGLESv2.so over libGLESv2.so.2 for proprietary + * Prefer libbrcmGLESv2.so over libGLESv2.so.2 for proprietary * Broadcom graphics when the VC4 DRM Xorg driver isn't present */ final boolean bcm_vc_iv_quirk = BcmVCArtifacts.guessVCIVUsed(false); @@ -82,7 +82,7 @@ public final class EGLES2DynamicLibraryBundleInfo extends EGLDynamicLibraryBundl libsGL.add("GLESv2"); if (bcm_vc_iv_quirk) { - libsGL.add("libGLESv2.so.2"); + libsGL.add("libbrcmGLESv2.so"); } // ES2: Alternative names |