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);
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:
{

View File

@ -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;

View File

@ -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

View File

@ -19,8 +19,6 @@
#include <retro_common_api.h>
#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: