mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 12:40:23 +00:00
Add SHADER_CTL_SET_PARAMS
This commit is contained in:
parent
8b714895a8
commit
f906e828ba
@ -229,7 +229,7 @@ static void renderchain_set_vertices(void *data, unsigned pass,
|
||||
params.fbo_info = NULL;
|
||||
params.fbo_info_cnt = 0;
|
||||
|
||||
video_shader_driver_set_params(¶ms);
|
||||
video_shader_driver_ctl(SHADER_CTL_SET_PARAMS, ¶ms);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
@ -1177,7 +1177,7 @@ static void gl_frame_fbo(gl_t *gl, uint64_t frame_count,
|
||||
params.fbo_info = fbo_tex_info;
|
||||
params.fbo_info_cnt = fbo_tex_info_cnt;
|
||||
|
||||
video_shader_driver_set_params(¶ms);
|
||||
video_shader_driver_ctl(SHADER_CTL_SET_PARAMS, ¶ms);
|
||||
|
||||
gl->coords.vertices = 4;
|
||||
video_shader_driver_set_coords(NULL, &gl->coords);
|
||||
@ -1234,7 +1234,7 @@ static void gl_frame_fbo(gl_t *gl, uint64_t frame_count,
|
||||
params.fbo_info = fbo_tex_info;
|
||||
params.fbo_info_cnt = fbo_tex_info_cnt;
|
||||
|
||||
video_shader_driver_set_params(¶ms);
|
||||
video_shader_driver_ctl(SHADER_CTL_SET_PARAMS, ¶ms);
|
||||
|
||||
gl->coords.vertex = gl->vertex_ptr;
|
||||
|
||||
@ -1872,7 +1872,7 @@ static bool gl_frame(void *data, const void *frame,
|
||||
params.fbo_info = NULL;
|
||||
params.fbo_info_cnt = 0;
|
||||
|
||||
video_shader_driver_set_params(¶ms);
|
||||
video_shader_driver_ctl(SHADER_CTL_SET_PARAMS, ¶ms);
|
||||
|
||||
gl->coords.vertices = 4;
|
||||
video_shader_driver_set_coords(NULL, &gl->coords);
|
||||
|
@ -206,32 +206,33 @@ struct video_shader *video_shader_driver_direct_get_current_shader(void)
|
||||
return current_shader->get_current_shader(shader_data);
|
||||
}
|
||||
|
||||
void video_shader_driver_set_params(video_shader_ctx_params_t *params)
|
||||
{
|
||||
if (!current_shader || !current_shader->set_params)
|
||||
return;
|
||||
|
||||
current_shader->set_params(
|
||||
params->data,
|
||||
shader_data,
|
||||
params->width,
|
||||
params->height,
|
||||
params->tex_width,
|
||||
params->tex_height,
|
||||
params->out_width,
|
||||
params->out_height,
|
||||
params->frame_counter,
|
||||
params->info,
|
||||
params->prev_info,
|
||||
params->feedback_info,
|
||||
params->fbo_info,
|
||||
params->fbo_info_cnt);
|
||||
}
|
||||
|
||||
bool video_shader_driver_ctl(enum video_shader_driver_ctl_state state, void *data)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case SHADER_CTL_SET_PARAMS:
|
||||
{
|
||||
video_shader_ctx_params_t *params = (video_shader_ctx_params_t*)data;
|
||||
|
||||
if (!current_shader || !current_shader->set_params)
|
||||
return false;
|
||||
current_shader->set_params(
|
||||
params->data,
|
||||
shader_data,
|
||||
params->width,
|
||||
params->height,
|
||||
params->tex_width,
|
||||
params->tex_height,
|
||||
params->out_width,
|
||||
params->out_height,
|
||||
params->frame_counter,
|
||||
params->info,
|
||||
params->prev_info,
|
||||
params->feedback_info,
|
||||
params->fbo_info,
|
||||
params->fbo_info_cnt);
|
||||
}
|
||||
break;
|
||||
case SHADER_CTL_NONE:
|
||||
default:
|
||||
break;
|
||||
|
@ -32,7 +32,8 @@ extern "C" {
|
||||
|
||||
enum video_shader_driver_ctl_state
|
||||
{
|
||||
SHADER_CTL_NONE = 0
|
||||
SHADER_CTL_NONE = 0,
|
||||
SHADER_CTL_SET_PARAMS
|
||||
};
|
||||
|
||||
typedef struct shader_backend
|
||||
@ -167,8 +168,6 @@ bool video_shader_driver_get_feedback_pass(unsigned *pass);
|
||||
|
||||
struct video_shader *video_shader_driver_direct_get_current_shader(void);
|
||||
|
||||
void video_shader_driver_set_params(video_shader_ctx_params_t *params);
|
||||
|
||||
bool video_shader_driver_ctl(enum video_shader_driver_ctl_state state, void *data);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
Loading…
x
Reference in New Issue
Block a user