Start making HAVE_OPENGL_CORE independent

This commit is contained in:
twinaphex 2019-04-24 03:23:57 +02:00
parent 21cd11acb4
commit 59b45f7812
14 changed files with 71 additions and 55 deletions

View file

@ -142,6 +142,8 @@ struct config_path_setting
enum video_driver_enum enum video_driver_enum
{ {
VIDEO_GL = 0, VIDEO_GL = 0,
VIDEO_GL1,
VIDEO_GL_CORE,
VIDEO_VULKAN, VIDEO_VULKAN,
VIDEO_METAL, VIDEO_METAL,
VIDEO_DRM, VIDEO_DRM,
@ -321,8 +323,12 @@ enum midi_driver_enum
#if defined(HAVE_METAL) #if defined(HAVE_METAL)
static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_METAL; static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_METAL;
#elif defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) || defined(__CELLOS_LV2__) #elif defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) || defined(__CELLOS_LV2__)
static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_GL; static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_GL;
#elif defined(HAVE_OPENGL_CORE)
static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_GL_CORE;
#elif defined(HAVE_OPENGL1)
static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_GL1;
#elif defined(GEKKO) #elif defined(GEKKO)
static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_WII; static enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_WII;
#elif defined(WIIU) #elif defined(WIIU)
@ -779,6 +785,10 @@ const char *config_get_default_video(void)
{ {
case VIDEO_GL: case VIDEO_GL:
return "gl"; return "gl";
case VIDEO_GL1:
return "gl1";
case VIDEO_GL_CORE:
return "glcore";
case VIDEO_VULKAN: case VIDEO_VULKAN:
return "vulkan"; return "vulkan";
case VIDEO_METAL: case VIDEO_METAL:

View file

@ -40,8 +40,10 @@
#include "cheevos-new/cheevos.h" /* RCHEEVOS TODO: remove line */ #include "cheevos-new/cheevos.h" /* RCHEEVOS TODO: remove line */
#endif #endif
#ifdef HAVE_OPENGL #if defined(HAVE_OPENGL)
#include "gfx/common/gl_common.h" #include "gfx/common/gl_common.h"
#elif defined(HAVE_OPENGL_CORE)
#include "gfx/common/gl_core_common.h"
#endif #endif
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
@ -1087,7 +1089,7 @@ static bool dynamic_request_hw_context(enum retro_hw_context_type type,
"is compiled against OpenGLES. Cannot use HW context.\n"); "is compiled against OpenGLES. Cannot use HW context.\n");
return false; return false;
#elif defined(HAVE_OPENGL) #elif defined(HAVE_OPENGL) || defined(HAVE_OPENGL_CORE)
case RETRO_HW_CONTEXT_OPENGLES2: case RETRO_HW_CONTEXT_OPENGLES2:
case RETRO_HW_CONTEXT_OPENGLES3: case RETRO_HW_CONTEXT_OPENGLES3:
RARCH_ERR("Requesting OpenGLES%u context, but RetroArch " RARCH_ERR("Requesting OpenGLES%u context, but RetroArch "
@ -1530,7 +1532,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
if (!dynamic_verify_hw_context(cb->context_type, cb->version_minor, cb->version_major)) if (!dynamic_verify_hw_context(cb->context_type, cb->version_minor, cb->version_major))
return false; return false;
#if defined(HAVE_OPENGL) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL_CORE)
if (!gl_set_core_context(cb->context_type)) { } if (!gl_set_core_context(cb->context_type)) { }
#endif #endif

View file

@ -378,7 +378,7 @@ static void frontend_uwp_environment_get(int *argc, char *argv[],
"~\\logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS])); "~\\logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS]));
#ifdef HAVE_MENU #ifdef HAVE_MENU
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) || defined(HAVE_OPENGL_CORE)
snprintf(g_defaults.settings.menu, snprintf(g_defaults.settings.menu,
sizeof(g_defaults.settings.menu), "xmb"); sizeof(g_defaults.settings.menu), "xmb");
#endif #endif

View file

@ -468,7 +468,7 @@ static void frontend_win32_environment_get(int *argc, char *argv[],
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_LOGS], fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_LOGS],
":\\logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS])); ":\\logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS]));
#ifdef HAVE_MENU #ifdef HAVE_MENU
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) || defined(HAVE_OPENGL_CORE)
snprintf(g_defaults.settings.menu, snprintf(g_defaults.settings.menu,
sizeof(g_defaults.settings.menu), "xmb"); sizeof(g_defaults.settings.menu), "xmb");
#endif #endif

View file

@ -825,7 +825,7 @@ LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message,
} }
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_VULKAN) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE) || defined(HAVE_VULKAN)
LRESULT CALLBACK WndProcGL(HWND hwnd, UINT message, LRESULT CALLBACK WndProcGL(HWND hwnd, UINT message,
WPARAM wparam, LPARAM lparam) WPARAM wparam, LPARAM lparam)
{ {

View file

@ -127,7 +127,7 @@ LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message,
WPARAM wparam, LPARAM lparam); WPARAM wparam, LPARAM lparam);
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_VULKAN) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE) || defined(HAVE_VULKAN)
LRESULT CALLBACK WndProcGL(HWND hwnd, UINT message, LRESULT CALLBACK WndProcGL(HWND hwnd, UINT message,
WPARAM wparam, LPARAM lparam); WPARAM wparam, LPARAM lparam);
#endif #endif

View file

@ -241,7 +241,7 @@ void cocoagl_gfx_ctx_update(void)
switch (cocoagl_api) switch (cocoagl_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) || defined(HAVE_OPENGL_CORE)
#if defined(HAVE_COCOA) || defined(HAVE_COCOA_METAL) #if defined(HAVE_COCOA) || defined(HAVE_COCOA_METAL)
#if MAC_OS_X_VERSION_10_7 #if MAC_OS_X_VERSION_10_7
CGLUpdateContext(g_hw_ctx.CGLContextObj); CGLUpdateContext(g_hw_ctx.CGLContextObj);
@ -269,7 +269,7 @@ static void cocoagl_gfx_ctx_destroy(void *data)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) || defined(HAVE_OPENGL_CORE)
[GLContextClass clearCurrentContext]; [GLContextClass clearCurrentContext];
#if defined(HAVE_COCOA) || defined(HAVE_COCOA_METAL) #if defined(HAVE_COCOA) || defined(HAVE_COCOA_METAL)

View file

@ -49,6 +49,8 @@
#if defined(HAVE_OPENGL) #if defined(HAVE_OPENGL)
#include "../common/gl_common.h" #include "../common/gl_common.h"
#elif defined(HAVE_OPENGL_CORE)
#include "../common/gl_core_common.h"
#elif defined(HAVE_OPENGL1) #elif defined(HAVE_OPENGL1)
#include "../common/gl1_common.h" #include "../common/gl1_common.h"
#endif #endif
@ -57,7 +59,7 @@
#include "../common/vulkan_common.h" #include "../common/vulkan_common.h"
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_VULKAN) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE) || defined(HAVE_VULKAN)
#ifndef WGL_CONTEXT_MAJOR_VERSION_ARB #ifndef WGL_CONTEXT_MAJOR_VERSION_ARB
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
#endif #endif
@ -83,7 +85,7 @@
#endif #endif
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
typedef HGLRC (APIENTRY *wglCreateContextAttribsProc)(HDC, HGLRC, const int*); typedef HGLRC (APIENTRY *wglCreateContextAttribsProc)(HDC, HGLRC, const int*);
static wglCreateContextAttribsProc pcreate_context; static wglCreateContextAttribsProc pcreate_context;
#endif #endif
@ -109,7 +111,7 @@ static enum gfx_ctx_api win32_api = GFX_CTX_NONE;
static dylib_t dll_handle = NULL; /* Handle to OpenGL32.dll */ static dylib_t dll_handle = NULL; /* Handle to OpenGL32.dll */
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
static bool wgl_has_extension(const char *extension, const char *extensions) static bool wgl_has_extension(const char *extension, const char *extensions)
{ {
const char *start = NULL; const char *start = NULL;
@ -151,7 +153,7 @@ static gfx_ctx_proc_t gfx_ctx_wgl_get_proc_address(const char *symbol)
switch (win32_api) switch (win32_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
{ {
gfx_ctx_proc_t func = (gfx_ctx_proc_t)wglGetProcAddress(symbol); gfx_ctx_proc_t func = (gfx_ctx_proc_t)wglGetProcAddress(symbol);
if (func) if (func)
@ -170,7 +172,7 @@ static gfx_ctx_proc_t gfx_ctx_wgl_get_proc_address(const char *symbol)
#endif #endif
} }
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
static void setup_pixel_format(HDC hdc) static void setup_pixel_format(HDC hdc)
{ {
PIXELFORMATDESCRIPTOR pfd = {0}; PIXELFORMATDESCRIPTOR pfd = {0};
@ -325,7 +327,7 @@ void create_graphics_context(HWND hwnd, bool *quit)
switch (win32_api) switch (win32_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
create_gl_context(hwnd, quit); create_gl_context(hwnd, quit);
#endif #endif
break; break;
@ -369,7 +371,7 @@ static void gfx_ctx_wgl_swap_interval(void *data, int interval)
switch (win32_api) switch (win32_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
win32_interval = interval; win32_interval = interval;
if (!win32_hrc) if (!win32_hrc)
return; return;
@ -587,7 +589,7 @@ static void gfx_ctx_wgl_destroy(void *data)
switch (win32_api) switch (win32_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (win32_hrc) if (win32_hrc)
{ {
glFinish(); glFinish();
@ -749,7 +751,7 @@ static bool gfx_ctx_wgl_bind_api(void *data,
win32_minor = minor; win32_minor = minor;
win32_api = api; win32_api = api;
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (api == GFX_CTX_OPENGL_API) if (api == GFX_CTX_OPENGL_API)
return true; return true;
#endif #endif
@ -772,7 +774,7 @@ static void gfx_ctx_wgl_bind_hw_render(void *data, bool enable)
switch (win32_api) switch (win32_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
win32_use_hw_ctx = enable; win32_use_hw_ctx = enable;
if (win32_hdc) if (win32_hdc)
@ -845,7 +847,7 @@ static void gfx_ctx_wgl_set_flags(void *data, uint32_t flags)
switch (win32_api) switch (win32_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (BIT32_GET(flags, GFX_CTX_FLAGS_ADAPTIVE_VSYNC)) if (BIT32_GET(flags, GFX_CTX_FLAGS_ADAPTIVE_VSYNC))
wgl_adaptive_vsync = true; wgl_adaptive_vsync = true;

View file

@ -23,7 +23,7 @@
#include "../../config.h" #include "../../config.h"
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
#include <GL/glx.h> #include <GL/glx.h>
#ifndef GLX_SAMPLE_BUFFERS #ifndef GLX_SAMPLE_BUFFERS
@ -53,7 +53,7 @@
#include "../common/vulkan_common.h" #include "../common/vulkan_common.h"
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
static int (*g_pglSwapInterval)(int); static int (*g_pglSwapInterval)(int);
static int (*g_pglSwapIntervalSGI)(int); static int (*g_pglSwapIntervalSGI)(int);
static void (*g_pglSwapIntervalEXT)(Display*, GLXDrawable, int); static void (*g_pglSwapIntervalEXT)(Display*, GLXDrawable, int);
@ -94,7 +94,7 @@ typedef struct gfx_ctx_x_data
bool g_is_double; bool g_is_double;
bool core_hw_context_enable; bool core_hw_context_enable;
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
GLXWindow g_glx_win; GLXWindow g_glx_win;
GLXContext g_ctx, g_hw_ctx; GLXContext g_ctx, g_hw_ctx;
GLXFBConfig g_fbc; GLXFBConfig g_fbc;
@ -147,7 +147,7 @@ static const unsigned long retroarch_icon_data[] = {
0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000
}; };
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
static PFNGLXCREATECONTEXTATTRIBSARBPROC glx_create_context_attribs; static PFNGLXCREATECONTEXTATTRIBSARBPROC glx_create_context_attribs;
static int GLXExtensionSupported(Display *dpy, const char *extension) static int GLXExtensionSupported(Display *dpy, const char *extension)
@ -192,7 +192,7 @@ static void gfx_ctx_x_destroy_resources(gfx_ctx_x_data_t *x)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (x->g_ctx) if (x->g_ctx)
{ {
if (x->swap_mode) if (x->swap_mode)
@ -262,7 +262,7 @@ static void gfx_ctx_x_destroy_resources(gfx_ctx_x_data_t *x)
} }
} }
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
g_pglSwapInterval = NULL; g_pglSwapInterval = NULL;
g_pglSwapIntervalSGI = NULL; g_pglSwapIntervalSGI = NULL;
g_pglSwapIntervalEXT = NULL; g_pglSwapIntervalEXT = NULL;
@ -304,7 +304,7 @@ static void gfx_ctx_x_swap_interval(void *data, int interval)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
x->g_interval = interval; x->g_interval = interval;
if (g_pglSwapIntervalEXT) if (g_pglSwapIntervalEXT)
@ -352,7 +352,7 @@ static void gfx_ctx_x_swap_buffers(void *data, void *data2)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (x->swap_mode) if (x->swap_mode)
{ {
if (x->g_interval) if (x->g_interval)
@ -456,7 +456,7 @@ static void *gfx_ctx_x_init(video_frame_info_t *video_info, void *data)
int nelements = 0; int nelements = 0;
int major = 0; int major = 0;
int minor = 0; int minor = 0;
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
static const int visual_attribs[] = { static const int visual_attribs[] = {
GLX_X_RENDERABLE , True, GLX_X_RENDERABLE , True,
GLX_DRAWABLE_TYPE , GLX_WINDOW_BIT, GLX_DRAWABLE_TYPE , GLX_WINDOW_BIT,
@ -495,7 +495,7 @@ static void *gfx_ctx_x_init(video_frame_info_t *video_info, void *data)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) || defined(HAVE_OPENGL_CORE)
glXQueryVersion(g_x11_dpy, &major, &minor); glXQueryVersion(g_x11_dpy, &major, &minor);
/* GLX 1.3+ minimum required. */ /* GLX 1.3+ minimum required. */
@ -555,7 +555,7 @@ static void *gfx_ctx_x_init(video_frame_info_t *video_info, void *data)
switch (x_api) switch (x_api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (GLXExtensionSupported(g_x11_dpy, "GLX_EXT_swap_control_tear")) if (GLXExtensionSupported(g_x11_dpy, "GLX_EXT_swap_control_tear"))
{ {
RARCH_LOG("[GLX]: GLX_EXT_swap_control_tear supported.\n"); RARCH_LOG("[GLX]: GLX_EXT_swap_control_tear supported.\n");
@ -633,7 +633,7 @@ static bool gfx_ctx_x_set_video_mode(void *data,
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
vi = glXGetVisualFromFBConfig(g_x11_dpy, x->g_fbc); vi = glXGetVisualFromFBConfig(g_x11_dpy, x->g_fbc);
if (!vi) if (!vi)
goto error; goto error;
@ -756,7 +756,7 @@ static bool gfx_ctx_x_set_video_mode(void *data,
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
x->g_glx_win = glXCreateWindow(g_x11_dpy, x->g_fbc, g_x11_win, 0); x->g_glx_win = glXCreateWindow(g_x11_dpy, x->g_fbc, g_x11_win, 0);
#endif #endif
break; break;
@ -810,7 +810,7 @@ static bool gfx_ctx_x_set_video_mode(void *data,
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (!x->g_ctx) if (!x->g_ctx)
{ {
if (x->g_core_es || x->g_debug) if (x->g_core_es || x->g_debug)
@ -924,7 +924,7 @@ static bool gfx_ctx_x_set_video_mode(void *data,
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
glXGetConfig(g_x11_dpy, vi, GLX_DOUBLEBUFFER, &val); glXGetConfig(g_x11_dpy, vi, GLX_DOUBLEBUFFER, &val);
x->g_is_double = val; x->g_is_double = val;
@ -1039,7 +1039,7 @@ static gfx_ctx_proc_t gfx_ctx_x_get_proc_address(const char *symbol)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
return glXGetProcAddress((const GLubyte*)symbol); return glXGetProcAddress((const GLubyte*)symbol);
#else #else
break; break;
@ -1069,7 +1069,7 @@ static bool gfx_ctx_x_bind_api(void *data, enum gfx_ctx_api api,
switch (api) switch (api)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
return true; return true;
#else #else
break; break;
@ -1122,7 +1122,7 @@ static void gfx_ctx_x_bind_hw_render(void *data, bool enable)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
x->g_use_hw_ctx = enable; x->g_use_hw_ctx = enable;
if (!g_x11_dpy || !x->g_glx_win) if (!g_x11_dpy || !x->g_glx_win)
return; return;
@ -1230,7 +1230,7 @@ static void gfx_ctx_x_make_current(bool release)
{ {
case GFX_CTX_OPENGL_API: case GFX_CTX_OPENGL_API:
case GFX_CTX_OPENGL_ES_API: case GFX_CTX_OPENGL_ES_API:
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
if (release) if (release)
glXMakeContextCurrent(g_x11_dpy, None, None, NULL); glXMakeContextCurrent(g_x11_dpy, None, None, NULL);
else else

View file

@ -214,7 +214,7 @@ static bool gl_font_init_first(
return false; return false;
} }
#endif
#ifdef HAVE_OPENGL_CORE #ifdef HAVE_OPENGL_CORE
static const font_renderer_t *gl_core_font_backends[] = { static const font_renderer_t *gl_core_font_backends[] = {
@ -246,7 +246,6 @@ static bool gl_core_font_init_first(
return false; return false;
} }
#endif #endif
#endif
#ifdef HAVE_CACA #ifdef HAVE_CACA
static const font_renderer_t *caca_font_backends[] = { static const font_renderer_t *caca_font_backends[] = {
@ -698,12 +697,12 @@ static bool font_init_first(
case FONT_DRIVER_RENDER_OPENGL_API: case FONT_DRIVER_RENDER_OPENGL_API:
return gl_font_init_first(font_driver, font_handle, return gl_font_init_first(font_driver, font_handle,
video_data, font_path, font_size, is_threaded); video_data, font_path, font_size, is_threaded);
#endif
#ifdef HAVE_OPENGL_CORE #ifdef HAVE_OPENGL_CORE
case FONT_DRIVER_RENDER_OPENGL_CORE_API: case FONT_DRIVER_RENDER_OPENGL_CORE_API:
return gl_core_font_init_first(font_driver, font_handle, return gl_core_font_init_first(font_driver, font_handle,
video_data, font_path, font_size, is_threaded); video_data, font_path, font_size, is_threaded);
#endif #endif
#endif
#ifdef HAVE_VULKAN #ifdef HAVE_VULKAN
case FONT_DRIVER_RENDER_VULKAN_API: case FONT_DRIVER_RENDER_VULKAN_API:
return vulkan_font_init_first(font_driver, font_handle, return vulkan_font_init_first(font_driver, font_handle,

View file

@ -381,14 +381,14 @@ static const gfx_ctx_driver_t *gfx_ctx_drivers[] = {
#if defined(HAVE_OPENDINGUX_FBDEV) #if defined(HAVE_OPENDINGUX_FBDEV)
&gfx_ctx_opendingux_fbdev, &gfx_ctx_opendingux_fbdev,
#endif #endif
#if defined(_WIN32) && (defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_VULKAN)) #if defined(_WIN32) && (defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE) || defined(HAVE_VULKAN))
&gfx_ctx_wgl, &gfx_ctx_wgl,
#endif #endif
#if defined(HAVE_WAYLAND) #if defined(HAVE_WAYLAND)
&gfx_ctx_wayland, &gfx_ctx_wayland,
#endif #endif
#if defined(HAVE_X11) && !defined(HAVE_OPENGLES) #if defined(HAVE_X11) && !defined(HAVE_OPENGLES)
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_VULKAN) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE) || defined(HAVE_VULKAN)
&gfx_ctx_x, &gfx_ctx_x,
#endif #endif
#endif #endif
@ -410,7 +410,7 @@ static const gfx_ctx_driver_t *gfx_ctx_drivers[] = {
#if defined(__APPLE__) && !defined(TARGET_IPHONE_SIMULATOR) && !defined(TARGET_OS_IPHONE) #if defined(__APPLE__) && !defined(TARGET_IPHONE_SIMULATOR) && !defined(TARGET_OS_IPHONE)
&gfx_ctx_cgl, &gfx_ctx_cgl,
#endif #endif
#if (defined(HAVE_SDL) || defined(HAVE_SDL2)) && (defined(HAVE_OPENGL) || defined(HAVE_OPENGL1)) #if (defined(HAVE_SDL) || defined(HAVE_SDL2)) && (defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE))
&gfx_ctx_sdl_gl, &gfx_ctx_sdl_gl,
#endif #endif
#ifdef HAVE_OSMESA #ifdef HAVE_OSMESA
@ -512,7 +512,7 @@ static bool hw_render_context_is_vulkan(enum retro_hw_context_type type)
} }
#endif #endif
#if defined(HAVE_OPENGL) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL_CORE)
static bool hw_render_context_is_gl(enum retro_hw_context_type type) static bool hw_render_context_is_gl(enum retro_hw_context_type type)
{ {
switch (type) switch (type)
@ -1921,7 +1921,7 @@ bool video_driver_find_driver(void)
} }
#endif #endif
#if defined(HAVE_OPENGL) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL_CORE)
if (hwr && hw_render_context_is_gl(hwr->context_type)) if (hwr && hw_render_context_is_gl(hwr->context_type))
{ {
RARCH_LOG("[Video]: Using HW render, OpenGL driver forced.\n"); RARCH_LOG("[Video]: Using HW render, OpenGL driver forced.\n");

View file

@ -420,11 +420,12 @@ VIDEO DRIVER
#include "../gfx/drivers/gl1.c" #include "../gfx/drivers/gl1.c"
#endif #endif
#ifdef HAVE_OPENGL
#include "../gfx/drivers/gl.c"
#ifdef HAVE_OPENGL_CORE #ifdef HAVE_OPENGL_CORE
#include "../gfx/drivers/gl_core.c" #include "../gfx/drivers/gl_core.c"
#endif #endif
#ifdef HAVE_OPENGL
#include "../gfx/drivers/gl.c"
#include "../libretro-common/gfx/gl_capabilities.c" #include "../libretro-common/gfx/gl_capabilities.c"
#ifndef HAVE_PSGL #ifndef HAVE_PSGL
@ -506,10 +507,11 @@ FONTS
#if defined(HAVE_OPENGL) #if defined(HAVE_OPENGL)
#include "../gfx/drivers_font/gl_raster_font.c" #include "../gfx/drivers_font/gl_raster_font.c"
#endif
#ifdef HAVE_OPENGL_CORE #ifdef HAVE_OPENGL_CORE
#include "../gfx/drivers_font/gl_core_raster_font.c" #include "../gfx/drivers_font/gl_core_raster_font.c"
#endif #endif
#endif
#if defined(_XBOX1) #if defined(_XBOX1)
#include "../gfx/drivers_font/xdk1_xfonts.c" #include "../gfx/drivers_font/xdk1_xfonts.c"
@ -1275,10 +1277,11 @@ MENU
#ifdef HAVE_OPENGL #ifdef HAVE_OPENGL
#include "../menu/drivers_display/menu_display_gl.c" #include "../menu/drivers_display/menu_display_gl.c"
#endif
#ifdef HAVE_OPENGL_CORE #ifdef HAVE_OPENGL_CORE
#include "../menu/drivers_display/menu_display_gl_core.c" #include "../menu/drivers_display/menu_display_gl_core.c"
#endif #endif
#endif
#ifdef HAVE_VULKAN #ifdef HAVE_VULKAN
#include "../menu/drivers_display/menu_display_vulkan.c" #include "../menu/drivers_display/menu_display_vulkan.c"

View file

@ -99,7 +99,7 @@ VIDEO DRIVER
#include "../gfx/drivers_shader/shader_vulkan.cpp" #include "../gfx/drivers_shader/shader_vulkan.cpp"
#endif #endif
#if defined(HAVE_OPENGL) && defined(HAVE_OPENGL_CORE) #if defined(HAVE_OPENGL_CORE)
#include "../gfx/drivers_shader/shader_gl_core.cpp" #include "../gfx/drivers_shader/shader_gl_core.cpp"
#endif #endif

View file

@ -321,7 +321,7 @@ static int menu_displaylist_parse_core_info(menu_displaylist_info_t *info)
static unsigned menu_displaylist_parse_system_info(menu_displaylist_info_t *info) static unsigned menu_displaylist_parse_system_info(menu_displaylist_info_t *info)
{ {
int controller; int controller;
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) || defined(HAVE_OPENGL_CORE)
gfx_ctx_ident_t ident_info; gfx_ctx_ident_t ident_info;
#endif #endif
char tmp[8192]; char tmp[8192];
@ -653,7 +653,7 @@ static unsigned menu_displaylist_parse_system_info(menu_displaylist_info_t *info
} }
} }
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) #if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGLES) || defined(HAVE_OPENGL_CORE)
video_context_driver_get_ident(&ident_info); video_context_driver_get_ident(&ident_info);
tmp_string = ident_info.ident; tmp_string = ident_info.ident;