2014-08-02 06:21:03 +00:00
|
|
|
// Copyright 2014 Dolphin Emulator Project
|
2015-05-17 23:08:10 +00:00
|
|
|
// Licensed under GPLv2+
|
2014-08-02 06:21:03 +00:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
2015-09-18 16:40:00 +00:00
|
|
|
#include "Common/GL/GLInterfaceBase.h"
|
2014-08-02 06:21:03 +00:00
|
|
|
|
2014-08-09 14:31:27 +00:00
|
|
|
#ifdef ANDROID
|
2015-09-18 16:40:00 +00:00
|
|
|
#include "Common/GL/GLInterface/EGLAndroid.h"
|
2014-08-09 13:49:45 +00:00
|
|
|
#elif defined(__APPLE__)
|
2015-09-18 16:40:00 +00:00
|
|
|
#include "Common/GL/GLInterface/AGL.h"
|
2014-08-09 13:49:45 +00:00
|
|
|
#elif defined(_WIN32)
|
2015-09-18 16:40:00 +00:00
|
|
|
#include "Common/GL/GLInterface/WGL.h"
|
2014-08-09 13:49:45 +00:00
|
|
|
#elif HAVE_X11
|
2014-08-09 14:31:27 +00:00
|
|
|
#if defined(USE_EGL) && USE_EGL
|
2015-09-18 16:40:00 +00:00
|
|
|
#include "Common/GL/GLInterface/EGLX11.h"
|
2014-08-09 14:31:27 +00:00
|
|
|
#else
|
2015-09-18 16:40:00 +00:00
|
|
|
#include "Common/GL/GLInterface/GLX.h"
|
2014-08-09 14:31:27 +00:00
|
|
|
#endif
|
2014-08-09 13:49:45 +00:00
|
|
|
#else
|
|
|
|
#error Platform doesnt have a GLInterface
|
|
|
|
#endif
|
2014-08-02 06:21:03 +00:00
|
|
|
|
|
|
|
cInterfaceBase* HostGL_CreateGLInterface()
|
|
|
|
{
|
2014-08-09 14:31:27 +00:00
|
|
|
#ifdef ANDROID
|
|
|
|
return new cInterfaceEGLAndroid;
|
2014-08-02 06:21:03 +00:00
|
|
|
#elif defined(__APPLE__)
|
|
|
|
return new cInterfaceAGL;
|
|
|
|
#elif defined(_WIN32)
|
|
|
|
return new cInterfaceWGL;
|
|
|
|
#elif defined(HAVE_X11) && HAVE_X11
|
2014-08-09 14:31:27 +00:00
|
|
|
#if defined(USE_EGL) && USE_EGL
|
|
|
|
return new cInterfaceEGLX11;
|
|
|
|
#else
|
2014-08-02 06:21:03 +00:00
|
|
|
return new cInterfaceGLX;
|
2014-08-09 14:31:27 +00:00
|
|
|
#endif
|
2014-08-02 06:21:03 +00:00
|
|
|
#else
|
|
|
|
return nullptr;
|
|
|
|
#endif
|
|
|
|
}
|