Start moving menu_shader variables out of menu_state struct

This commit is contained in:
twinaphex 2016-09-04 22:02:29 +02:00
parent 61ea67baba
commit 201e03d202
4 changed files with 31 additions and 34 deletions

View File

@ -789,7 +789,7 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
menu_driver_ctx->context_destroy(menu_userdata); menu_driver_ctx->context_destroy(menu_userdata);
break; break;
case RARCH_MENU_CTL_SHADER_MANAGER_INIT: case RARCH_MENU_CTL_SHADER_MANAGER_INIT:
menu_shader_manager_init(menu_driver_data); menu_shader_manager_init();
break; break;
case RARCH_MENU_CTL_LIST_SET_SELECTION: case RARCH_MENU_CTL_LIST_SET_SELECTION:
{ {

View File

@ -249,11 +249,6 @@ typedef struct
char msg[PATH_MAX_LENGTH]; char msg[PATH_MAX_LENGTH];
} menu_state; } 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]; char db_playlist_file[PATH_MAX_LENGTH];
} menu_handle_t; } menu_handle_t;

View File

@ -28,12 +28,19 @@
#include "../runloop.h" #include "../runloop.h"
#include "../verbosity.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: * menu_shader_manager_init:
* *
* Initializes shader manager. * Initializes shader manager.
**/ **/
void menu_shader_manager_init(menu_handle_t *menu) void menu_shader_manager_init(void)
{ {
#ifdef HAVE_SHADER_MANAGER #ifdef HAVE_SHADER_MANAGER
struct video_shader *shader = NULL; struct video_shader *shader = NULL;
@ -41,9 +48,6 @@ void menu_shader_manager_init(menu_handle_t *menu)
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
const char *config_path = config_get_active_path(); const char *config_path = config_get_active_path();
if (!menu)
return;
menu_driver_ctl(RARCH_MENU_CTL_SHADER_GET, menu_driver_ctl(RARCH_MENU_CTL_SHADER_GET,
&shader); &shader);
@ -51,26 +55,26 @@ void menu_shader_manager_init(menu_handle_t *menu)
* conflicts on menu.cgp/menu.glslp. */ * conflicts on menu.cgp/menu.glslp. */
if (config_path) 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), 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), 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), file_path_str(FILE_PATH_SLANGP_EXTENSION),
sizeof(menu->default_slangp)); sizeof(default_slangp));
} }
else else
{ {
strlcpy(menu->default_glslp, "menu.glslp", strlcpy(default_glslp, "menu.glslp",
sizeof(menu->default_glslp)); sizeof(default_glslp));
strlcpy(menu->default_cgp, "menu.cgp", strlcpy(default_cgp, "menu.cgp",
sizeof(menu->default_cgp)); sizeof(default_cgp));
strlcpy(menu->default_slangp, "menu.slangp", strlcpy(default_slangp, "menu.slangp",
sizeof(menu->default_slangp)); sizeof(default_slangp));
} }
switch (msg_hash_to_file_type(msg_hash_calculate( 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. * 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) unsigned type, const char *preset_path)
{ {
#ifdef HAVE_SHADER_MANAGER #ifdef HAVE_SHADER_MANAGER
struct video_shader *shader = (struct video_shader*)data;
config_file_t *conf = NULL; config_file_t *conf = NULL;
bool refresh = false; bool refresh = false;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
@ -269,16 +274,16 @@ bool menu_shader_manager_save_preset(
switch (type) switch (type)
{ {
case RARCH_SHADER_GLSL: case RARCH_SHADER_GLSL:
conf_path = menu->default_glslp; conf_path = default_glslp;
break; break;
case RARCH_SHADER_SLANG: case RARCH_SHADER_SLANG:
conf_path = menu->default_slangp; conf_path = default_slangp;
break; break;
default: default:
case RARCH_SHADER_CG: case RARCH_SHADER_CG:
conf_path = menu->default_cgp; conf_path = default_cgp;
break; break;
} }
strlcpy(buffer, conf_path, sizeof(buffer)); strlcpy(buffer, conf_path, sizeof(buffer));
@ -360,8 +365,9 @@ bool menu_shader_manager_save_preset(
* *
* Returns: type of shader. * 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 #ifndef HAVE_SHADER_MANAGER
return RARCH_SHADER_NONE; return RARCH_SHADER_NONE;
#else #else

View File

@ -19,8 +19,6 @@
#include <retro_common_api.h> #include <retro_common_api.h>
#include "../gfx/video_shader_driver.h"
RETRO_BEGIN_DECLS RETRO_BEGIN_DECLS
/** /**
@ -28,7 +26,7 @@ RETRO_BEGIN_DECLS
* *
* Initializes shader manager. * Initializes shader manager.
**/ **/
void menu_shader_manager_init(menu_handle_t *menu); void menu_shader_manager_init(void);
/** /**
* menu_shader_manager_set_preset: * menu_shader_manager_set_preset:
@ -39,8 +37,7 @@ void menu_shader_manager_init(menu_handle_t *menu);
* Sets shader preset. * Sets shader preset.
**/ **/
void menu_shader_manager_set_preset( void menu_shader_manager_set_preset(
struct video_shader *shader, void *data, unsigned type, const char *preset_path);
unsigned type, const char *preset_path);
/** /**
* menu_shader_manager_save_preset: * menu_shader_manager_save_preset:
@ -60,8 +57,7 @@ bool menu_shader_manager_save_preset(
* *
* Returns: type of shader. * Returns: type of shader.
**/ **/
unsigned menu_shader_manager_get_type( unsigned menu_shader_manager_get_type(const void *data);
const struct video_shader *shader);
/** /**
* menu_shader_manager_apply_changes: * menu_shader_manager_apply_changes: