diff options
author | Chris "koying" Browet <cbro@semperpax.com> | 2015-04-08 15:36:35 +0200 |
---|---|---|
committer | Chris "Koying" Browet <cbro@semperpax.com> | 2015-04-11 17:34:10 +0200 |
commit | c3116fdfd515b674242a44d0b0eadbe423ec5794 (patch) | |
tree | 8b56471cb05db5cee06a6c45fae341966547768f | |
parent | 6169b6ff6039a8efaf8557a6dd432dce5de6b976 (diff) |
FIX: [eg] only compile what's necessary per platform
-rw-r--r-- | xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp | 6 | ||||
-rw-r--r-- | xbmc/windowing/egl/EGLNativeTypeAndroid.cpp | 19 | ||||
-rw-r--r-- | xbmc/windowing/egl/EGLNativeTypeRKAndroid.cpp | 8 | ||||
-rw-r--r-- | xbmc/windowing/egl/EGLWrapper.cpp | 35 | ||||
-rw-r--r-- | xbmc/windowing/egl/Makefile.in | 8 |
5 files changed, 37 insertions, 39 deletions
diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp index 37264f3866..5ea1d7c13c 100644 --- a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp +++ b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp @@ -23,16 +23,13 @@ #include "EGLNativeTypeAmlAndroid.h" #include "utils/log.h" #include "guilib/gui3d.h" -#if defined(TARGET_ANDROID) - #include "android/activity/XBMCApp.h" -#endif +#include "android/activity/XBMCApp.h" #include "utils/StringUtils.h" #include "utils/SysfsUtils.h" #include "utils/AMLUtils.h" bool CEGLNativeTypeAmlAndroid::CheckCompatibility() { -#if defined(TARGET_ANDROID) if (aml_present()) { if (SysfsUtils::HasRW("/sys/class/display/mode")) @@ -40,7 +37,6 @@ bool CEGLNativeTypeAmlAndroid::CheckCompatibility() else CLog::Log(LOGERROR, "AMLEGL: no rw on /sys/class/display/mode"); } -#endif return false; } diff --git a/xbmc/windowing/egl/EGLNativeTypeAndroid.cpp b/xbmc/windowing/egl/EGLNativeTypeAndroid.cpp index 641d53daf4..735abcb6e7 100644 --- a/xbmc/windowing/egl/EGLNativeTypeAndroid.cpp +++ b/xbmc/windowing/egl/EGLNativeTypeAndroid.cpp @@ -23,9 +23,7 @@ #include "EGLNativeTypeAndroid.h" #include "utils/log.h" #include "guilib/gui3d.h" -#if defined(TARGET_ANDROID) - #include "android/activity/XBMCApp.h" -#endif +#include "android/activity/XBMCApp.h" #include "utils/StringUtils.h" CEGLNativeTypeAndroid::CEGLNativeTypeAndroid() @@ -38,10 +36,7 @@ CEGLNativeTypeAndroid::~CEGLNativeTypeAndroid() bool CEGLNativeTypeAndroid::CheckCompatibility() { -#if defined(TARGET_ANDROID) return true; -#endif - return false; } void CEGLNativeTypeAndroid::Initialize() @@ -61,12 +56,8 @@ bool CEGLNativeTypeAndroid::CreateNativeDisplay() bool CEGLNativeTypeAndroid::CreateNativeWindow() { -#if defined(TARGET_ANDROID) // Android hands us a window, we don't have to create it return true; -#else - return false; -#endif } bool CEGLNativeTypeAndroid::GetNativeDisplay(XBNativeDisplayType **nativeDisplay) const @@ -79,14 +70,10 @@ bool CEGLNativeTypeAndroid::GetNativeDisplay(XBNativeDisplayType **nativeDisplay bool CEGLNativeTypeAndroid::GetNativeWindow(XBNativeWindowType **nativeWindow) const { -#if defined(TARGET_ANDROID) if (!nativeWindow) return false; *nativeWindow = (XBNativeWindowType*) CXBMCApp::GetNativeWindow(30000); return (*nativeWindow != NULL); -#else - return false; -#endif } bool CEGLNativeTypeAndroid::DestroyNativeDisplay() @@ -101,7 +88,6 @@ bool CEGLNativeTypeAndroid::DestroyNativeWindow() bool CEGLNativeTypeAndroid::GetNativeResolution(RESOLUTION_INFO *res) const { -#if defined(TARGET_ANDROID) EGLNativeWindowType *nativeWindow = (EGLNativeWindowType*)CXBMCApp::GetNativeWindow(30000); if (!nativeWindow) return false; @@ -123,9 +109,6 @@ bool CEGLNativeTypeAndroid::GetNativeResolution(RESOLUTION_INFO *res) const res->dwFlags & D3DPRESENTFLAG_INTERLACED ? "i" : ""); CLog::Log(LOGNOTICE,"Current resolution: %s\n",res->strMode.c_str()); return true; -#else - return false; -#endif } bool CEGLNativeTypeAndroid::SetNativeResolution(const RESOLUTION_INFO &res) diff --git a/xbmc/windowing/egl/EGLNativeTypeRKAndroid.cpp b/xbmc/windowing/egl/EGLNativeTypeRKAndroid.cpp index dd7ddfb861..a8af8ad52e 100644 --- a/xbmc/windowing/egl/EGLNativeTypeRKAndroid.cpp +++ b/xbmc/windowing/egl/EGLNativeTypeRKAndroid.cpp @@ -25,17 +25,14 @@ #include "EGLNativeTypeRKAndroid.h" #include "utils/log.h" #include "guilib/gui3d.h" -#if defined(TARGET_ANDROID) - #include "android/activity/XBMCApp.h" - #include "android/jni/Build.h" -#endif +#include "android/activity/XBMCApp.h" +#include "android/jni/Build.h" #include "utils/StringUtils.h" #include "utils/SysfsUtils.h" #include "utils/RegExp.h" bool CEGLNativeTypeRKAndroid::CheckCompatibility() { -#if defined(TARGET_ANDROID) if (StringUtils::StartsWithNoCase(CJNIBuild::HARDWARE, "rk3")) // Rockchip { if (SysfsUtils::HasRW("/sys/class/display/display0.HDMI/mode")) @@ -43,7 +40,6 @@ bool CEGLNativeTypeRKAndroid::CheckCompatibility() else CLog::Log(LOGERROR, "RKEGL: no rw on /sys/class/display/display0.HDMI/mode"); } -#endif return false; } diff --git a/xbmc/windowing/egl/EGLWrapper.cpp b/xbmc/windowing/egl/EGLWrapper.cpp index 7e32772874..036d4b9b59 100644 --- a/xbmc/windowing/egl/EGLWrapper.cpp +++ b/xbmc/windowing/egl/EGLWrapper.cpp @@ -22,13 +22,21 @@ #ifdef HAS_EGL #include "utils/log.h" #include <assert.h> -#include "EGLNativeTypeAndroid.h" -#include "EGLNativeTypeAmlAndroid.h" -#include "EGLNativeTypeRKAndroid.h" +#if defined(HAVE_WAYLAND) + #include "EGLNativeTypeWayland.h" +#endif +#if defined(TARGET_ANDROID) + #include "EGLNativeTypeAndroid.h" + #include "EGLNativeTypeAmlAndroid.h" + #include "EGLNativeTypeRKAndroid.h" +#endif +#if defined(TARGET_RASPBERRY_PI) + #include "EGLNativeTypeRaspberryPI.h" +#endif +#if defined(HAS_IMXVPU) + #include "EGLNativeTypeIMX.h" +#endif #include "EGLNativeTypeAmlogic.h" -#include "EGLNativeTypeRaspberryPI.h" -#include "EGLNativeTypeWayland.h" -#include "EGLNativeTypeIMX.h" #include "EGLWrapper.h" #define CheckError() m_result = eglGetError(); if(m_result != EGL_SUCCESS) CLog::Log(LOGERROR, "EGL error in %s: %x",__FUNCTION__, m_result); @@ -82,13 +90,22 @@ bool CEGLWrapper::Initialize(const std::string &implementation) // Try to create each backend in sequence and go with the first one // that we know will work - if ((nativeGuess = CreateEGLNativeType<CEGLNativeTypeWayland>(implementation)) || + if ( +#if defined(HAVE_WAYLAND) + (nativeGuess = CreateEGLNativeType<CEGLNativeTypeWayland>(implementation)) || +#endif +#if defined(TARGET_ANDROID) (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlAndroid>(implementation)) || (nativeGuess = CreateEGLNativeType<CEGLNativeTypeRKAndroid>(implementation)) || (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAndroid>(implementation)) || - (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlogic>(implementation)) || +#endif +#if defined(TARGET_RASPBERRY_PI) (nativeGuess = CreateEGLNativeType<CEGLNativeTypeRaspberryPI>(implementation)) || - (nativeGuess = CreateEGLNativeType<CEGLNativeTypeIMX>(implementation)) +#endif +#if defined(HAS_IMXVPU) + (nativeGuess = CreateEGLNativeType<CEGLNativeTypeIMX>(implementation)) || +#endif + (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlogic>(implementation)) ) { m_nativeTypes = nativeGuess; diff --git a/xbmc/windowing/egl/Makefile.in b/xbmc/windowing/egl/Makefile.in index aefeb568a7..32fb168c51 100644 --- a/xbmc/windowing/egl/Makefile.in +++ b/xbmc/windowing/egl/Makefile.in @@ -2,16 +2,22 @@ INCLUDES=-I. SRCS = WinSystemEGL.cpp SRCS+= EGLNativeTypeAmlogic.cpp +ifeq (@USE_ANDROID@,1) SRCS+= EGLNativeTypeAndroid.cpp SRCS+= EGLNativeTypeAmlAndroid.cpp SRCS+= EGLNativeTypeRKAndroid.cpp +endif +ifeq (@USE_MMAL@,1) SRCS+= EGLNativeTypeRaspberryPI.cpp -SRCS+= EGLNativeTypeWayland.cpp +endif +ifeq (@USE_IMXVPU@,1) SRCS+= EGLNativeTypeIMX.cpp +endif SRCS+= EGLWrapper.cpp # Wayland specific detail ifeq (@USE_WAYLAND@,1) +SRCS+= EGLNativeTypeWayland.cpp SRCS+= wayland/Callback.cpp \ wayland/Compositor.cpp \ wayland/Display.cpp \ |