From 271ac7f92554d3be40f01731ba0a17f0b873966c Mon Sep 17 00:00:00 2001 From: Yoshi Sugawara Date: Mon, 20 Jul 2020 14:00:28 -1000 Subject: [PATCH] support the OpenGL driver in the metal build by delegating the view initialization to the ApplePlatform delegate (metal build only for now) --- gfx/drivers_context/cocoa_gl_ctx.m | 4 ++++ retroarch.c | 2 +- ui/drivers/ui_cocoatouch.m | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gfx/drivers_context/cocoa_gl_ctx.m b/gfx/drivers_context/cocoa_gl_ctx.m index bb4d25ec46..bfe6c22fd7 100644 --- a/gfx/drivers_context/cocoa_gl_ctx.m +++ b/gfx/drivers_context/cocoa_gl_ctx.m @@ -831,6 +831,10 @@ static void *cocoagl_gfx_ctx_init(void *video_driver) { #if defined(HAVE_COCOATOUCH) case GFX_CTX_OPENGL_ES_API: +#if defined(HAVE_COCOA_METAL) + // the metal build supports both the OpenGL and Metal video drivers + [apple_platform setViewType:APPLE_VIEW_TYPE_OPENGL_ES]; +#endif // setViewType is not (yet?) defined for iOS // [apple_platform setViewType:APPLE_VIEW_TYPE_OPENGL_ES]; break; diff --git a/retroarch.c b/retroarch.c index d9de6eb266..f9a3182252 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1005,7 +1005,7 @@ static const ui_companion_driver_t *ui_companion_drivers[] = { #if defined(_WIN32) && !defined(_XBOX) && !defined(__WINRT__) &ui_companion_win32, #endif -#if !defined(HAVE_COCOATOUCH) && (defined(HAVE_COCOA) || defined(HAVE_COCOA_METAL)) +#if TARGET_OS_OSX &ui_companion_cocoa, #endif #ifdef HAVE_COCOATOUCH diff --git a/ui/drivers/ui_cocoatouch.m b/ui/drivers/ui_cocoatouch.m index 84bb196859..0d12eca44a 100644 --- a/ui/drivers/ui_cocoatouch.m +++ b/ui/drivers/ui_cocoatouch.m @@ -352,9 +352,9 @@ enum } break; - case APPLE_VIEW_TYPE_OPENGL: + case APPLE_VIEW_TYPE_OPENGL_ES: { - _renderView = [CocoaView get]; + _renderView = (BRIDGE GLKView*)glkitview_init(); break; }