This commit is contained in:
twinaphex 2019-03-18 15:27:37 +01:00
parent f67bfa24ef
commit 27928081cf
6 changed files with 24 additions and 49 deletions

View File

@ -658,11 +658,8 @@ static void gl2_renderchain_render(
gl->coords.vertices = 4;
gl->shader->set_coords(gl,
gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl, gl->shader_data,
&gl->mvp);
gl->shader->set_coords(gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl->shader_data, &gl->mvp);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
}
@ -729,11 +726,8 @@ static void gl2_renderchain_render(
gl->coords.vertices = 4;
gl->shader->set_coords(gl,
gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl, gl->shader_data,
&gl->mvp);
gl->shader->set_coords(gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl->shader_data, &gl->mvp);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
@ -1986,11 +1980,8 @@ static void gl2_render_overlay(gl_t *gl, video_frame_info_t *video_info)
gl->coords.color = gl->overlay_color_coord;
gl->coords.vertices = 4 * gl->overlays;
gl->shader->set_coords(gl,
gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl, gl->shader_data,
&gl->mvp_no_rot);
gl->shader->set_coords(gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl->shader_data, &gl->mvp_no_rot);
for (i = 0; i < gl->overlays; i++)
{
@ -2364,15 +2355,13 @@ static void gl2_render_osd_background(
video_info->shader_driver->use(gl,
video_info->shader_data, VIDEO_SHADER_STOCK_BLEND, true);
gl->shader->set_coords(gl, gl->shader_data,
&coords);
gl->shader->set_coords(gl->shader_data, &coords);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBlendEquation(GL_FUNC_ADD);
gl->shader->set_mvp(gl, gl->shader_data,
&gl->mvp_no_rot);
gl->shader->set_mvp(gl->shader_data, &gl->mvp_no_rot);
uniform_param.type = UNIFORM_4F;
uniform_param.enabled = true;
@ -2470,11 +2459,8 @@ static INLINE void gl2_draw_texture(gl_t *gl, video_frame_info_t *video_info)
gl->coords.vertices = 4;
gl->shader->set_coords(gl,
gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl, gl->shader_data,
&gl->mvp_no_rot);
gl->shader->set_coords(gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl->shader_data, &gl->mvp_no_rot);
glEnable(GL_BLEND);
@ -2669,11 +2655,8 @@ static bool gl2_frame(void *data, const void *frame,
gl->coords.vertices = 4;
gl->shader->set_coords(gl,
gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl, gl->shader_data,
&gl->mvp);
gl->shader->set_coords(gl->shader_data, &gl->coords);
gl->shader->set_mvp(gl->shader_data, &gl->mvp);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

View File

@ -255,10 +255,8 @@ static void gl_raster_font_draw_vertices(gl_raster_t *font,
font->atlas->dirty = false;
}
font->gl->shader->set_coords(font->gl,
font->gl->shader_data, coords);
font->gl->shader->set_mvp(font->gl, font->gl->shader_data,
font->gl->shader->set_coords(font->gl->shader_data, coords);
font->gl->shader->set_mvp(font->gl->shader_data,
&font->gl->mvp_no_rot);
glDrawArrays(GL_TRIANGLES, 0, coords->vertices);

View File

@ -244,7 +244,7 @@ static void gl_cg_reset_attrib(void *data)
cg->attribs_index = 0;
}
static bool gl_cg_set_mvp(void *data, void *shader_data,
static bool gl_cg_set_mvp(void *shader_data,
const void *mat_data)
{
cg_shader_data_t *cg = (cg_shader_data_t*)shader_data;
@ -258,7 +258,8 @@ static bool gl_cg_set_mvp(void *data, void *shader_data,
return false;
}
static bool gl_cg_set_coords(void *handle_data, void *shader_data, const struct video_coords *coords)
static bool gl_cg_set_coords(void *shader_data,
const struct video_coords *coords)
{
cg_shader_data_t *cg = (cg_shader_data_t*)shader_data;

View File

@ -1410,13 +1410,11 @@ static void gl_glsl_set_params(void *dat, void *shader_data)
}
}
static bool gl_glsl_set_mvp(void *data, void *shader_data, const void *mat_data)
static bool gl_glsl_set_mvp(void *shader_data, const void *mat_data)
{
int loc;
glsl_shader_data_t *glsl = (glsl_shader_data_t*)shader_data;
(void)data;
if (!glsl || !glsl->shader->modern)
return false;
@ -1448,7 +1446,7 @@ static bool gl_glsl_set_mvp(void *data, void *shader_data, const void *mat_data)
buffer[y + size] = coord2[y]; \
size += multiplier * coords->vertices; \
static bool gl_glsl_set_coords(void *handle_data, void *shader_data,
static bool gl_glsl_set_coords(void *shader_data,
const struct video_coords *coords)
{
GLfloat short_buffer[4 * (2 + 2 + 4 + 2)];

View File

@ -234,10 +234,8 @@ typedef struct shader_backend
enum gfx_wrap_type (*wrap_type)(void *data, unsigned index);
void (*shader_scale)(void *data,
unsigned index, struct gfx_fbo_scale *scale);
bool (*set_coords)(void *handle_data,
void *shader_data, const struct video_coords *coords);
bool (*set_mvp)(void *data, void *shader_data,
const void *mat_data);
bool (*set_coords)(void *shader_data, const struct video_coords *coords);
bool (*set_mvp)(void *shader_data, const void *mat_data);
unsigned (*get_prev_textures)(void *data);
bool (*get_feedback_pass)(void *data, unsigned *pass);
bool (*mipmap_input)(void *data, unsigned index);

View File

@ -116,13 +116,10 @@ static void menu_display_gl_draw(menu_display_ctx_draw_t *draw,
draw->coords->lut_tex_coord = menu_display_gl_get_default_tex_coords();
menu_display_gl_viewport(draw, video_info);
if (draw)
glBindTexture(GL_TEXTURE_2D, (GLuint)draw->texture);
glBindTexture(GL_TEXTURE_2D, (GLuint)draw->texture);
gl->shader->set_coords(gl,
gl->shader_data, draw->coords);
gl->shader->set_mvp(gl, gl->shader_data,
gl->shader->set_coords(gl->shader_data, draw->coords);
gl->shader->set_mvp(gl->shader_data,
draw->matrix_data ? (math_matrix_4x4*)draw->matrix_data
: (math_matrix_4x4*)menu_display_gl_get_default_mvp(video_info));