mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 15:45:19 +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;
|
static int dummy_pixel=0;
|
||||||
|
|
||||||
rarch_init_filter(g_extern.system.pix_fmt);
|
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;
|
geom = (const struct retro_game_geometry*)&g_extern.system.av_info.geometry;
|
||||||
max_dim = max(geom->max_width, geom->max_height);
|
max_dim = max(geom->max_width, geom->max_height);
|
||||||
@ -1551,7 +1551,7 @@ void uninit_video_input(void)
|
|||||||
|
|
||||||
rarch_deinit_filter();
|
rarch_deinit_filter();
|
||||||
|
|
||||||
rarch_deinit_shader_dir();
|
rarch_main_command(RARCH_CMD_SHADER_DIR_DEINIT);
|
||||||
compute_monitor_fps_statistics();
|
compute_monitor_fps_statistics();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,6 +129,8 @@ enum basic_event
|
|||||||
RARCH_CMD_MENU_SAVE_CONFIG,
|
RARCH_CMD_MENU_SAVE_CONFIG,
|
||||||
RARCH_CMD_MENU_PAUSE_LIBRETRO,
|
RARCH_CMD_MENU_PAUSE_LIBRETRO,
|
||||||
RARCH_CMD_SHADERS_APPLY_CHANGES,
|
RARCH_CMD_SHADERS_APPLY_CHANGES,
|
||||||
|
RARCH_CMD_SHADER_DIR_INIT,
|
||||||
|
RARCH_CMD_SHADER_DIR_DEINIT,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum action_state
|
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,
|
void rarch_recording_dump_frame(const void *data, unsigned width,
|
||||||
unsigned height, size_t pitch);
|
unsigned height, size_t pitch);
|
||||||
|
|
||||||
void rarch_init_shader_dir(void);
|
|
||||||
|
|
||||||
void rarch_deinit_shader_dir(void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
59
retroarch.c
59
retroarch.c
@ -3173,6 +3173,35 @@ void rarch_main_command(unsigned cmd)
|
|||||||
rarch_main_command(RARCH_CMD_AUDIO_START);
|
rarch_main_command(RARCH_CMD_AUDIO_START);
|
||||||
}
|
}
|
||||||
break;
|
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;
|
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