Use video_driver_set_shader

This commit is contained in:
twinaphex 2015-03-22 22:17:52 +01:00
parent 5538e2db1d
commit 4c9ac9d6e4
4 changed files with 15 additions and 17 deletions

View File

@ -215,14 +215,8 @@ static const struct cmd_map map[] = {
static bool cmd_set_shader(const char *arg)
{
char msg[PATH_MAX_LENGTH];
const char *ext;
enum rarch_shader_type type = RARCH_SHADER_NONE;
driver_t *driver = driver_get_ptr();
if (!driver->video->set_shader)
return false;
ext = path_get_extension(arg);
const char *ext = path_get_extension(arg);
if (strcmp(ext, "glsl") == 0 || strcmp(ext, "glslp") == 0)
type = RARCH_SHADER_GLSL;
@ -236,7 +230,7 @@ static bool cmd_set_shader(const char *arg)
rarch_main_msg_queue_push(msg, 1, 120, true);
RARCH_LOG("Applying shader \"%s\".\n", arg);
return driver->video->set_shader(driver->video_data, type, arg);
return video_driver_set_shader(type, arg);
}
static const struct cmd_action_map action_map[] = {

View File

@ -267,14 +267,17 @@ bool video_driver_has_focus(void)
}
bool video_driver_set_shader(enum rarch_shader_type type,
const char *shader)
const char *path)
{
driver_t *driver = driver_get_ptr();
if (!driver->video || !driver->video_data)
driver_t *driver = driver_get_ptr();
if (!driver)
return false;
if (!driver->video->set_shader(driver->video_data, type, shader))
if (!driver->video_data)
return false;
return true;
if (!driver->video->set_shader)
return false;
return driver->video->set_shader(driver->video_data, type, path);
}
static void deinit_video_filter(void)
@ -768,3 +771,4 @@ bool video_driver_read_viewport(uint8_t *buffer)
return driver->video->read_viewport(driver->video_data,
buffer);
}

View File

@ -300,6 +300,9 @@ bool video_driver_viewport_info(struct video_viewport *vp);
bool video_driver_read_viewport(uint8_t *buffer);
bool video_driver_set_shader(enum rarch_shader_type type,
const char *path);
#ifdef __cplusplus
}
#endif

View File

@ -130,10 +130,7 @@ void menu_shader_manager_set_preset(struct video_shader *shader,
settings->video.shader_enable = false;
if (!driver->video->set_shader)
return;
if (!driver->video->set_shader(driver->video_data,
(enum rarch_shader_type)type, preset_path))
if (!video_driver_set_shader((enum rarch_shader_type)type, preset_path))
return;
/* Makes sure that we use Menu Preset shader on driver reinit.