Add SHADER_CTL_GET_FEEDBACK_PASS

This commit is contained in:
twinaphex 2016-02-14 18:19:48 +01:00
parent fe3c3f5203
commit 7c4b372208
3 changed files with 9 additions and 12 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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);