diff --git a/gfx/drivers/gl.c b/gfx/drivers/gl.c index f864e67d03..ebeec015c0 100644 --- a/gfx/drivers/gl.c +++ b/gfx/drivers/gl.c @@ -702,8 +702,8 @@ static void gl_init_fbo(gl_t *gl, unsigned fbo_width, unsigned fbo_height) gl->fbo_rect[i].width, gl->fbo_rect[i].height); } - gl->fbo_feedback_enable = - video_shader_driver_get_feedback_pass(&gl->fbo_feedback_pass); + gl->fbo_feedback_enable = video_shader_driver_ctl( + SHADER_CTL_GET_FEEDBACK_PASS, &gl->fbo_feedback_pass); if (gl->fbo_feedback_enable && gl->fbo_feedback_pass < (unsigned)gl->fbo_pass) diff --git a/gfx/video_shader_driver.c b/gfx/video_shader_driver.c index 5f803a9a4f..a69d3c6f08 100644 --- a/gfx/video_shader_driver.c +++ b/gfx/video_shader_driver.c @@ -172,13 +172,6 @@ enum gfx_wrap_type video_shader_driver_wrap_type(unsigned index) return current_shader->wrap_type(shader_data, index); } -bool video_shader_driver_get_feedback_pass(unsigned *pass) -{ - if (!current_shader || !current_shader->get_feedback_pass) - return false; - return current_shader->get_feedback_pass(shader_data, pass); -} - struct video_shader *video_shader_driver_direct_get_current_shader(void) { if (!current_shader || !current_shader->get_current_shader) @@ -225,6 +218,11 @@ bool video_shader_driver_ctl(enum video_shader_driver_ctl_state state, void *dat } } return false; + case SHADER_CTL_GET_FEEDBACK_PASS: + if (!current_shader || !current_shader->get_feedback_pass) + return false; + return current_shader->get_feedback_pass(shader_data, (unsigned*)data); + break; case SHADER_CTL_NONE: default: break; diff --git a/gfx/video_shader_driver.h b/gfx/video_shader_driver.h index d56d942a1b..9fffc5d75f 100644 --- a/gfx/video_shader_driver.h +++ b/gfx/video_shader_driver.h @@ -35,7 +35,8 @@ enum video_shader_driver_ctl_state SHADER_CTL_NONE = 0, /* Finds first suitable shader context driver. */ SHADER_CTL_INIT_FIRST, - SHADER_CTL_SET_PARAMS + SHADER_CTL_SET_PARAMS, + SHADER_CTL_GET_FEEDBACK_PASS }; typedef struct shader_backend @@ -157,8 +158,6 @@ bool video_shader_driver_filter_type(unsigned index, bool *smooth); enum gfx_wrap_type video_shader_driver_wrap_type(unsigned index); -bool video_shader_driver_get_feedback_pass(unsigned *pass); - struct video_shader *video_shader_driver_direct_get_current_shader(void); bool video_shader_driver_ctl(enum video_shader_driver_ctl_state state, void *data);