Create video_driver_set_coords

This commit is contained in:
twinaphex 2017-11-14 21:43:13 +01:00
parent 683c437941
commit 229841b1c4
6 changed files with 15 additions and 11 deletions

View File

@ -220,7 +220,7 @@ static void gl_render_overlay(gl_t *gl, video_frame_info_t *video_info)
coords.handle_data = NULL;
coords.data = &gl->coords;
video_shader_driver_set_coords(coords);
video_driver_set_coords(&coords);
video_info->cb_shader_set_mvp(gl,
video_info->shader_data, &gl->mvp_no_rot);
@ -815,7 +815,7 @@ static void gl_render_osd_background(
video_info->cb_shader_use(gl,
video_info->shader_data, VIDEO_SHADER_STOCK_BLEND, true);
video_shader_driver_set_coords(coords_data);
video_driver_set_coords(&coords_data);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@ -947,7 +947,7 @@ static INLINE void gl_draw_texture(gl_t *gl, video_frame_info_t *video_info)
coords.handle_data = NULL;
coords.data = &gl->coords;
video_shader_driver_set_coords(coords);
video_driver_set_coords(&coords);
video_info->cb_shader_set_mvp(gl,
video_info->shader_data, &gl->mvp_no_rot);
@ -1129,7 +1129,7 @@ static bool gl_frame(void *data, const void *frame,
coords.handle_data = NULL;
coords.data = &gl->coords;
video_shader_driver_set_coords(coords);
video_driver_set_coords(&coords);
video_info->cb_shader_set_mvp(gl, video_info->shader_data, &gl->mvp);

View File

@ -258,7 +258,7 @@ static void gl_raster_font_draw_vertices(gl_raster_t *font, const video_coords_t
coords_data.handle_data = NULL;
coords_data.data = coords;
video_shader_driver_set_coords(coords_data);
video_driver_set_coords(&coords_data);
video_info->cb_shader_set_mvp(font->gl,
video_info->shader_data, &font->gl->mvp_no_rot);

View File

@ -331,7 +331,7 @@ static void gl2_renderchain_render(
coords.handle_data = NULL;
coords.data = &gl->coords;
video_shader_driver_set_coords(coords);
video_driver_set_coords(&coords);
video_info->cb_shader_set_mvp(gl,
video_info->shader_data, &gl->mvp);
@ -406,7 +406,7 @@ static void gl2_renderchain_render(
coords.handle_data = NULL;
coords.data = &gl->coords;
video_shader_driver_set_coords(coords);
video_driver_set_coords(&coords);
video_info->cb_shader_set_mvp(gl,
video_info->shader_data, &gl->mvp);

View File

@ -3444,6 +3444,12 @@ bool video_shader_driver_wrap_type(video_shader_ctx_wrap_t *wrap)
return true;
}
void video_driver_set_coords(video_shader_ctx_coords_t *coords)
{
if (!current_shader || !current_shader->set_coords || !current_shader->set_coords(coords->handle_data, shader_data, (const struct video_coords*)coords->data))
video_driver_set_coords_fallback(coords->handle_data, shader_data, (const struct video_coords*)coords->data);
}
void video_driver_set_mvp(video_shader_ctx_mvp_t *mvp)
{
if (mvp->matrix && current_shader && current_shader->set_mvp)

View File

@ -1279,9 +1279,7 @@ bool video_shader_driver_get_feedback_pass(unsigned *data);
bool video_shader_driver_mipmap_input(unsigned *index);
#define video_shader_driver_set_coords(coords) \
if (!current_shader->set_coords(coords.handle_data, shader_data, (const struct video_coords*)coords.data)) \
video_driver_set_coords_fallback(coords.handle_data, shader_data, (const struct video_coords*)coords.data)
void video_driver_set_coords(video_shader_ctx_coords_t *coords);
bool video_shader_driver_scale(video_shader_ctx_scale_t *scaler);

View File

@ -139,7 +139,7 @@ static void menu_display_gl_draw(void *data)
coords.handle_data = gl;
coords.data = draw->coords;
video_shader_driver_set_coords(coords);
video_driver_set_coords(&coords);
mvp.data = gl;
mvp.matrix = draw->matrix_data ? (math_matrix_4x4*)draw->matrix_data