Turn shader_dir_init and shader_dir_free into static functions

This commit is contained in:
twinaphex 2015-12-07 14:45:15 +01:00
parent 52774b0dee
commit e36712a4e0
3 changed files with 11 additions and 8 deletions

View File

@ -1390,12 +1390,12 @@ bool event_command(enum event_command cmd)
#endif #endif
break; break;
case EVENT_CMD_SHADER_DIR_DEINIT: case EVENT_CMD_SHADER_DIR_DEINIT:
shader_dir_free(); runloop_ctl(RUNLOOP_CTL_SHADER_DIR_DEINIT, NULL);
break; break;
case EVENT_CMD_SHADER_DIR_INIT: case EVENT_CMD_SHADER_DIR_INIT:
event_command(EVENT_CMD_SHADER_DIR_DEINIT); event_command(EVENT_CMD_SHADER_DIR_DEINIT);
if (!shader_dir_init()) if (!runloop_ctl(RUNLOOP_CTL_SHADER_DIR_INIT, NULL))
return false; return false;
break; break;
case EVENT_CMD_SAVEFILES: case EVENT_CMD_SAVEFILES:

View File

@ -302,14 +302,14 @@ static void check_stateslots(settings_t *settings,
#define SHADER_EXT_CG 0x0059776fU #define SHADER_EXT_CG 0x0059776fU
#define SHADER_EXT_CGP 0x0b8865bfU #define SHADER_EXT_CGP 0x0b8865bfU
void shader_dir_free(void) static void shader_dir_free(void)
{ {
dir_list_free(runloop_shader_dir.list); dir_list_free(runloop_shader_dir.list);
runloop_shader_dir.list = NULL; runloop_shader_dir.list = NULL;
runloop_shader_dir.ptr = 0; runloop_shader_dir.ptr = 0;
} }
bool shader_dir_init(void) static bool shader_dir_init(void)
{ {
unsigned i; unsigned i;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
@ -495,6 +495,11 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
switch (state) switch (state)
{ {
case RUNLOOP_CTL_SHADER_DIR_DEINIT:
shader_dir_free();
return true;
case RUNLOOP_CTL_SHADER_DIR_INIT:
return shader_dir_init();
case RUNLOOP_CTL_SYSTEM_INFO_INIT: case RUNLOOP_CTL_SYSTEM_INFO_INIT:
core.retro_get_system_info(&system->info); core.retro_get_system_info(&system->info);

View File

@ -90,6 +90,8 @@ enum runloop_ctl_state
RUNLOOP_CTL_CORE_OPTIONS_GET, RUNLOOP_CTL_CORE_OPTIONS_GET,
RUNLOOP_CTL_CORE_OPTIONS_INIT, RUNLOOP_CTL_CORE_OPTIONS_INIT,
RUNLOOP_CTL_CORE_OPTIONS_DEINIT, RUNLOOP_CTL_CORE_OPTIONS_DEINIT,
RUNLOOP_CTL_SHADER_DIR_DEINIT,
RUNLOOP_CTL_SHADER_DIR_INIT,
RUNLOOP_CTL_SYSTEM_INFO_INIT, RUNLOOP_CTL_SYSTEM_INFO_INIT,
RUNLOOP_CTL_SYSTEM_INFO_FREE, RUNLOOP_CTL_SYSTEM_INFO_FREE,
RUNLOOP_CTL_PREPARE_DUMMY RUNLOOP_CTL_PREPARE_DUMMY
@ -305,10 +307,6 @@ const char *rarch_main_msg_queue_pull(void);
bool *runloop_perfcnt_enabled(void); bool *runloop_perfcnt_enabled(void);
void shader_dir_free(void);
bool shader_dir_init(void);
bool runloop_ctl(enum runloop_ctl_state state, void *data); bool runloop_ctl(enum runloop_ctl_state state, void *data);
typedef int (*transfer_cb_t)(void *data, size_t len); typedef int (*transfer_cb_t)(void *data, size_t len);