From 9b0950440a96ccebe91f8baf8bdfaa49c5c4abf5 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 9 Jan 2017 03:01:59 +0100 Subject: [PATCH] Create menu_shader_manager_get_amount_passes --- menu/menu_displaylist.c | 11 +++-------- menu/menu_shader.c | 13 +++++++++++++ menu/menu_shader.h | 2 ++ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 717c292650..06a6cda92f 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -52,6 +52,7 @@ #include "menu_content.h" #include "menu_driver.h" #include "menu_navigation.h" +#include "menu_shader.h" #include "widgets/menu_dialog.h" #include "widgets/menu_list.h" #include "widgets/menu_filebrowser.h" @@ -1496,13 +1497,7 @@ static int menu_displaylist_parse_playlist(menu_displaylist_info_t *info, static int menu_displaylist_parse_shader_options(menu_displaylist_info_t *info) { unsigned i; - struct video_shader *shader = NULL; - - menu_driver_ctl(RARCH_MENU_CTL_SHADER_GET, - &shader); - - if (!shader) - return -1; + unsigned pass_count = menu_shader_manager_get_amount_passes(); menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SHADER_APPLY_CHANGES), @@ -1545,7 +1540,7 @@ static int menu_displaylist_parse_shader_options(menu_displaylist_info_t *info) MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES, 0, 0, 0); - for (i = 0; i < shader->passes; i++) + for (i = 0; i < pass_count; i++) { char buf_tmp[64]; char buf[64]; diff --git a/menu/menu_shader.c b/menu/menu_shader.c index cf7b3b80a6..c146222226 100644 --- a/menu/menu_shader.c +++ b/menu/menu_shader.c @@ -41,6 +41,19 @@ static char default_cgp[PATH_MAX_LENGTH]; static char default_slangp[PATH_MAX_LENGTH]; #endif +unsigned menu_shader_manager_get_amount_passes(void) +{ + struct video_shader *shader = NULL; + + menu_driver_ctl(RARCH_MENU_CTL_SHADER_GET, + &shader); + + if (!shader) + return 0; + + return shader->passes; +} + /** * menu_shader_manager_init: * diff --git a/menu/menu_shader.h b/menu/menu_shader.h index 5110b62d5c..1e5fac18ab 100644 --- a/menu/menu_shader.h +++ b/menu/menu_shader.h @@ -21,6 +21,8 @@ RETRO_BEGIN_DECLS +unsigned menu_shader_manager_get_amount_passes(void); + /** * menu_shader_manager_init: *