From b5199d7921db975504e507039d828b5cb213d09f Mon Sep 17 00:00:00 2001 From: LazyBumHorse Date: Sat, 22 Jun 2019 11:07:08 +0200 Subject: [PATCH] fix black screen in Metal --- gfx/common/metal_common.m | 4 ---- gfx/drivers/metal.m | 9 +++++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gfx/common/metal_common.m b/gfx/common/metal_common.m index 187ed3ce57..f9595b2619 100644 --- a/gfx/common/metal_common.m +++ b/gfx/common/metal_common.m @@ -1134,10 +1134,6 @@ typedef struct MTLALIGN(16) - (BOOL)setShaderFromPath:(NSString *)path { - /* TODO use stock shader if string_is_empty(path.UTF8String), this is just a safety guard: */ - if (string_is_empty(path.UTF8String)) - return YES; - [self _freeVideoShader:_shader]; _shader = nil; diff --git a/gfx/drivers/metal.m b/gfx/drivers/metal.m index acac96f07c..2859b163ac 100644 --- a/gfx/drivers/metal.m +++ b/gfx/drivers/metal.m @@ -129,12 +129,17 @@ static bool metal_set_shader(void *data, if (!md) return false; - if (!string_is_empty(path) && type != RARCH_SHADER_SLANG) + if (type != RARCH_SHADER_SLANG) { - RARCH_WARN("[Metal] Only Slang shaders are supported. Falling back to stock.\n"); + if (!string_is_empty(path) && type != RARCH_SHADER_SLANG) + RARCH_WARN("[Metal] Only Slang shaders are supported. Falling back to stock.\n"); path = NULL; } + /* TODO actually return to stock */ + if (string_is_empty(path)) + return true; + return [md.frameView setShaderFromPath:[NSString stringWithUTF8String:path]]; #else return false;