From 201e03d20203b5a4b2fda066228cbb91ca8884ad Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 4 Sep 2016 22:02:29 +0200 Subject: [PATCH] Start moving menu_shader variables out of menu_state struct --- menu/menu_driver.c | 2 +- menu/menu_driver.h | 5 ----- menu/menu_shader.c | 48 ++++++++++++++++++++++++++-------------------- menu/menu_shader.h | 10 +++------- 4 files changed, 31 insertions(+), 34 deletions(-) diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 4a12bbc409..187a214ee3 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -789,7 +789,7 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) menu_driver_ctx->context_destroy(menu_userdata); break; case RARCH_MENU_CTL_SHADER_MANAGER_INIT: - menu_shader_manager_init(menu_driver_data); + menu_shader_manager_init(); break; case RARCH_MENU_CTL_LIST_SET_SELECTION: { diff --git a/menu/menu_driver.h b/menu/menu_driver.h index c28e227ceb..768a31809c 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -249,11 +249,6 @@ typedef struct char msg[PATH_MAX_LENGTH]; } menu_state; - /* Menu shader */ - char default_glslp[PATH_MAX_LENGTH]; - char default_cgp[PATH_MAX_LENGTH]; - char default_slangp[PATH_MAX_LENGTH]; - char db_playlist_file[PATH_MAX_LENGTH]; } menu_handle_t; diff --git a/menu/menu_shader.c b/menu/menu_shader.c index 1336652de9..3e6d562bf9 100644 --- a/menu/menu_shader.c +++ b/menu/menu_shader.c @@ -28,12 +28,19 @@ #include "../runloop.h" #include "../verbosity.h" +#include "../gfx/video_shader_driver.h" + +/* Menu shader */ +static char default_glslp[PATH_MAX_LENGTH]; +static char default_cgp[PATH_MAX_LENGTH]; +static char default_slangp[PATH_MAX_LENGTH]; + /** * menu_shader_manager_init: * * Initializes shader manager. **/ -void menu_shader_manager_init(menu_handle_t *menu) +void menu_shader_manager_init(void) { #ifdef HAVE_SHADER_MANAGER struct video_shader *shader = NULL; @@ -41,9 +48,6 @@ void menu_shader_manager_init(menu_handle_t *menu) settings_t *settings = config_get_ptr(); const char *config_path = config_get_active_path(); - if (!menu) - return; - menu_driver_ctl(RARCH_MENU_CTL_SHADER_GET, &shader); @@ -51,26 +55,26 @@ void menu_shader_manager_init(menu_handle_t *menu) * conflicts on menu.cgp/menu.glslp. */ if (config_path) { - fill_pathname_base_ext(menu->default_glslp, config_path, + fill_pathname_base_ext(default_glslp, config_path, file_path_str(FILE_PATH_GLSLP_EXTENSION), - sizeof(menu->default_glslp)); + sizeof(default_glslp)); - fill_pathname_base_ext(menu->default_cgp, config_path, + fill_pathname_base_ext(default_cgp, config_path, file_path_str(FILE_PATH_CGP_EXTENSION), - sizeof(menu->default_cgp)); + sizeof(default_cgp)); - fill_pathname_base_ext(menu->default_slangp, config_path, + fill_pathname_base_ext(default_slangp, config_path, file_path_str(FILE_PATH_SLANGP_EXTENSION), - sizeof(menu->default_slangp)); + sizeof(default_slangp)); } else { - strlcpy(menu->default_glslp, "menu.glslp", - sizeof(menu->default_glslp)); - strlcpy(menu->default_cgp, "menu.cgp", - sizeof(menu->default_cgp)); - strlcpy(menu->default_slangp, "menu.slangp", - sizeof(menu->default_slangp)); + strlcpy(default_glslp, "menu.glslp", + sizeof(default_glslp)); + strlcpy(default_cgp, "menu.cgp", + sizeof(default_cgp)); + strlcpy(default_slangp, "menu.slangp", + sizeof(default_slangp)); } switch (msg_hash_to_file_type(msg_hash_calculate( @@ -146,10 +150,11 @@ void menu_shader_manager_init(menu_handle_t *menu) * * Sets shader preset. **/ -void menu_shader_manager_set_preset(struct video_shader *shader, +void menu_shader_manager_set_preset(void *data, unsigned type, const char *preset_path) { #ifdef HAVE_SHADER_MANAGER + struct video_shader *shader = (struct video_shader*)data; config_file_t *conf = NULL; bool refresh = false; settings_t *settings = config_get_ptr(); @@ -269,16 +274,16 @@ bool menu_shader_manager_save_preset( switch (type) { case RARCH_SHADER_GLSL: - conf_path = menu->default_glslp; + conf_path = default_glslp; break; case RARCH_SHADER_SLANG: - conf_path = menu->default_slangp; + conf_path = default_slangp; break; default: case RARCH_SHADER_CG: - conf_path = menu->default_cgp; + conf_path = default_cgp; break; } strlcpy(buffer, conf_path, sizeof(buffer)); @@ -360,8 +365,9 @@ bool menu_shader_manager_save_preset( * * Returns: type of shader. **/ -unsigned menu_shader_manager_get_type(const struct video_shader *shader) +unsigned menu_shader_manager_get_type(const void *data) { + const struct video_shader *shader = (const struct video_shader*)data; #ifndef HAVE_SHADER_MANAGER return RARCH_SHADER_NONE; #else diff --git a/menu/menu_shader.h b/menu/menu_shader.h index b889c57ed7..0b61c27da6 100644 --- a/menu/menu_shader.h +++ b/menu/menu_shader.h @@ -19,8 +19,6 @@ #include -#include "../gfx/video_shader_driver.h" - RETRO_BEGIN_DECLS /** @@ -28,7 +26,7 @@ RETRO_BEGIN_DECLS * * Initializes shader manager. **/ -void menu_shader_manager_init(menu_handle_t *menu); +void menu_shader_manager_init(void); /** * menu_shader_manager_set_preset: @@ -39,8 +37,7 @@ void menu_shader_manager_init(menu_handle_t *menu); * Sets shader preset. **/ void menu_shader_manager_set_preset( - struct video_shader *shader, - unsigned type, const char *preset_path); + void *data, unsigned type, const char *preset_path); /** * menu_shader_manager_save_preset: @@ -60,8 +57,7 @@ bool menu_shader_manager_save_preset( * * Returns: type of shader. **/ -unsigned menu_shader_manager_get_type( - const struct video_shader *shader); +unsigned menu_shader_manager_get_type(const void *data); /** * menu_shader_manager_apply_changes: