From 40a1446c950e8fbd42ddf58a4b33e8c7082049b9 Mon Sep 17 00:00:00 2001 From: Stuart Carnie Date: Sat, 7 Jul 2018 07:27:17 -0700 Subject: [PATCH] feat(Metal): Reload shader preset when Metal driver reinitialized --- gfx/drivers/metal.m | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gfx/drivers/metal.m b/gfx/drivers/metal.m index 644b33a60e..ef99b59030 100644 --- a/gfx/drivers/metal.m +++ b/gfx/drivers/metal.m @@ -46,6 +46,9 @@ #import "../video_coord_array.h" +static bool metal_set_shader(void *data, + enum rarch_shader_type type, const char *path); + static void *metal_init(const video_info_t *video, const input_driver_t **input, void **input_data) @@ -57,6 +60,15 @@ static void *metal_init(const video_info_t *video, { return NULL; } + + const char *shader_path = retroarch_get_shader_preset(); + + if (shader_path) + { + enum rarch_shader_type type = video_shader_parse_type(shader_path, RARCH_SHADER_SLANG); + metal_set_shader(((__bridge void *)md), type, shader_path); + } + return (__bridge_retained void *)md; }