From acd3b481bea53e597048cfdb5f8711aa9374a290 Mon Sep 17 00:00:00 2001 From: Themaister Date: Wed, 10 Apr 2013 20:59:49 +0200 Subject: [PATCH] Let RGUI CGP be used across driver reinit. --- frontend/menu/rgui.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/frontend/menu/rgui.c b/frontend/menu/rgui.c index a9ab711e75..62947f5835 100644 --- a/frontend/menu/rgui.c +++ b/frontend/menu/rgui.c @@ -1146,12 +1146,26 @@ static int shader_manager_toggle_setting(rgui_handle_t *rgui, unsigned setting, config_file_write(conf, cgp_path); config_file_free(conf); ret = video_set_shader_func(RARCH_SHADER_CG, cgp_path); + + // Makes sure that we use RGUI CGP shader on driver reinit. + // Only do this when the cgp actually works to avoid potential errors. + if (ret) + { + strlcpy(g_settings.video.shader_path, cgp_path, sizeof(g_settings.video.shader_path)); + g_settings.video.shader_enable = true; + } } else + { ret = video_set_shader_func(RARCH_SHADER_CG, NULL); + g_settings.video.shader_enable = false; + } if (!ret) + { RARCH_ERR("Setting RGUI CGP failed.\n"); + g_settings.video.shader_enable = false; + } } else if (setting == RGUI_SETTINGS_SHADER_PASSES) {