summaryrefslogtreecommitdiff
path: root/Source/Core/Common/GL/GLInterface/GLInterface.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2015-09-19 04:40:00 +1200
committerScott Mansell <phiren@gmail.com>2015-09-22 00:36:45 +1200
commit95f3c956a80d880f9988fed5c4a920e436808195 (patch)
tree2d221e74e0da2472800373fd18d0db3893829dab /Source/Core/Common/GL/GLInterface/GLInterface.cpp
parent3df83e57171bce6b1e43a87b7fa14e90d4ce2639 (diff)
Move GL interface code out of the OpenGL video backend.
Diffstat (limited to 'Source/Core/Common/GL/GLInterface/GLInterface.cpp')
-rw-r--r--Source/Core/Common/GL/GLInterface/GLInterface.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/Source/Core/Common/GL/GLInterface/GLInterface.cpp b/Source/Core/Common/GL/GLInterface/GLInterface.cpp
new file mode 100644
index 0000000000..8abe67dc71
--- /dev/null
+++ b/Source/Core/Common/GL/GLInterface/GLInterface.cpp
@@ -0,0 +1,40 @@
+// Copyright 2014 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include "Common/GL/GLInterfaceBase.h"
+
+#ifdef ANDROID
+#include "Common/GL/GLInterface/EGLAndroid.h"
+#elif defined(__APPLE__)
+#include "Common/GL/GLInterface/AGL.h"
+#elif defined(_WIN32)
+#include "Common/GL/GLInterface/WGL.h"
+#elif HAVE_X11
+#if defined(USE_EGL) && USE_EGL
+#include "Common/GL/GLInterface/EGLX11.h"
+#else
+#include "Common/GL/GLInterface/GLX.h"
+#endif
+#else
+#error Platform doesnt have a GLInterface
+#endif
+
+cInterfaceBase* HostGL_CreateGLInterface()
+{
+ #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
+}