mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Add RARCH_CMD_SHADER_DIR_INIT/RARCH_CMD_SHADER_DIR_DEINIT
This commit is contained in:
parent
a8d8e9d13b
commit
c25bc493ab
4
driver.c
4
driver.c
@ -1352,7 +1352,7 @@ void init_video_input(void)
|
||||
static int dummy_pixel=0;
|
||||
|
||||
rarch_init_filter(g_extern.system.pix_fmt);
|
||||
rarch_init_shader_dir();
|
||||
rarch_main_command(RARCH_CMD_SHADER_DIR_INIT);
|
||||
|
||||
geom = (const struct retro_game_geometry*)&g_extern.system.av_info.geometry;
|
||||
max_dim = max(geom->max_width, geom->max_height);
|
||||
@ -1551,7 +1551,7 @@ void uninit_video_input(void)
|
||||
|
||||
rarch_deinit_filter();
|
||||
|
||||
rarch_deinit_shader_dir();
|
||||
rarch_main_command(RARCH_CMD_SHADER_DIR_DEINIT);
|
||||
compute_monitor_fps_statistics();
|
||||
}
|
||||
|
||||
|
@ -129,6 +129,8 @@ enum basic_event
|
||||
RARCH_CMD_MENU_SAVE_CONFIG,
|
||||
RARCH_CMD_MENU_PAUSE_LIBRETRO,
|
||||
RARCH_CMD_SHADERS_APPLY_CHANGES,
|
||||
RARCH_CMD_SHADER_DIR_INIT,
|
||||
RARCH_CMD_SHADER_DIR_DEINIT,
|
||||
};
|
||||
|
||||
enum action_state
|
||||
@ -813,10 +815,6 @@ void rarch_update_system_info(struct retro_system_info *info,
|
||||
void rarch_recording_dump_frame(const void *data, unsigned width,
|
||||
unsigned height, size_t pitch);
|
||||
|
||||
void rarch_init_shader_dir(void);
|
||||
|
||||
void rarch_deinit_shader_dir(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
59
retroarch.c
59
retroarch.c
@ -3173,6 +3173,35 @@ void rarch_main_command(unsigned cmd)
|
||||
rarch_main_command(RARCH_CMD_AUDIO_START);
|
||||
}
|
||||
break;
|
||||
case RARCH_CMD_SHADER_DIR_INIT:
|
||||
rarch_main_command(RARCH_CMD_SHADER_DIR_DEINIT);
|
||||
{
|
||||
unsigned i;
|
||||
if (!*g_settings.video.shader_dir)
|
||||
return;
|
||||
|
||||
g_extern.shader_dir.list = dir_list_new(g_settings.video.shader_dir,
|
||||
"cg|cgp|glsl|glslp", false);
|
||||
|
||||
if (!g_extern.shader_dir.list || g_extern.shader_dir.list->size == 0)
|
||||
{
|
||||
rarch_main_command(RARCH_CMD_SHADER_DIR_DEINIT);
|
||||
return;
|
||||
}
|
||||
|
||||
g_extern.shader_dir.ptr = 0;
|
||||
dir_list_sort(g_extern.shader_dir.list, false);
|
||||
|
||||
for (i = 0; i < g_extern.shader_dir.list->size; i++)
|
||||
RARCH_LOG("Found shader \"%s\"\n",
|
||||
g_extern.shader_dir.list->elems[i].data);
|
||||
}
|
||||
break;
|
||||
case RARCH_CMD_SHADER_DIR_DEINIT:
|
||||
dir_list_free(g_extern.shader_dir.list);
|
||||
g_extern.shader_dir.list = NULL;
|
||||
g_extern.shader_dir.ptr = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3356,33 +3385,3 @@ void rarch_main_deinit(void)
|
||||
|
||||
g_extern.main_is_init = false;
|
||||
}
|
||||
|
||||
void rarch_init_shader_dir(void)
|
||||
{
|
||||
unsigned i;
|
||||
if (!*g_settings.video.shader_dir)
|
||||
return;
|
||||
|
||||
g_extern.shader_dir.list = dir_list_new(g_settings.video.shader_dir,
|
||||
"cg|cgp|glsl|glslp", false);
|
||||
|
||||
if (!g_extern.shader_dir.list || g_extern.shader_dir.list->size == 0)
|
||||
{
|
||||
rarch_deinit_shader_dir();
|
||||
return;
|
||||
}
|
||||
|
||||
g_extern.shader_dir.ptr = 0;
|
||||
dir_list_sort(g_extern.shader_dir.list, false);
|
||||
|
||||
for (i = 0; i < g_extern.shader_dir.list->size; i++)
|
||||
RARCH_LOG("Found shader \"%s\"\n",
|
||||
g_extern.shader_dir.list->elems[i].data);
|
||||
}
|
||||
|
||||
void rarch_deinit_shader_dir(void)
|
||||
{
|
||||
dir_list_free(g_extern.shader_dir.list);
|
||||
g_extern.shader_dir.list = NULL;
|
||||
g_extern.shader_dir.ptr = 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user