Add back X11 support to EGL

Refactor the EGL backend to provide a platform separation here, which is
better abstracted away than the old EGL/X11 implementation.
This commit is contained in:
Jasper St. Pierre
2014-08-09 10:31:27 -04:00
parent e39543b963
commit 271efb450c
8 changed files with 134 additions and 23 deletions

View File

@ -4,28 +4,36 @@
#include "VideoBackends/OGL/GLInterfaceBase.h"
#if USE_EGL
#include "DolphinWX/GLInterface/EGL.h"
#ifdef ANDROID
#include "DolphinWX/GLInterface/EGLAndroid.h"
#elif defined(__APPLE__)
#include "DolphinWX/GLInterface/AGL.h"
#elif defined(_WIN32)
#include "DolphinWX/GLInterface/WGL.h"
#elif HAVE_X11
#if defined(USE_EGL) && USE_EGL
#include "DolphinWX/GLInterface/EGLX11.h"
#else
#include "DolphinWX/GLInterface/GLX.h"
#endif
#else
#error Platform doesnt have a GLInterface
#endif
cInterfaceBase* HostGL_CreateGLInterface()
{
#if defined(USE_EGL) && USE_EGL
return new cInterfaceEGL;
#ifdef ANDROID
return new cInterfaceEGLAndroid;
#elif defined(__APPLE__)
return new cInterfaceAGL;
#elif defined(_WIN32)
return new cInterfaceWGL;
#elif defined(HAVE_X11) && HAVE_X11
#if defined(USE_EGL) && USE_EGL
return new cInterfaceEGLX11;
#else
return new cInterfaceGLX;
#endif
#else
return nullptr;
#endif