aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris "koying" Browet <cbro@semperpax.com>2015-04-08 15:36:35 +0200
committerChris "Koying" Browet <cbro@semperpax.com>2015-04-11 17:34:10 +0200
commitc3116fdfd515b674242a44d0b0eadbe423ec5794 (patch)
tree8b56471cb05db5cee06a6c45fae341966547768f
parent6169b6ff6039a8efaf8557a6dd432dce5de6b976 (diff)
FIX: [eg] only compile what's necessary per platform
-rw-r--r--xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp6
-rw-r--r--xbmc/windowing/egl/EGLNativeTypeAndroid.cpp19
-rw-r--r--xbmc/windowing/egl/EGLNativeTypeRKAndroid.cpp8
-rw-r--r--xbmc/windowing/egl/EGLWrapper.cpp35
-rw-r--r--xbmc/windowing/egl/Makefile.in8
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 \