diff --git a/gfx/drivers/gl.c b/gfx/drivers/gl.c index a019006d02..1041007970 100644 --- a/gfx/drivers/gl.c +++ b/gfx/drivers/gl.c @@ -4087,6 +4087,11 @@ static float gl_get_refresh_rate(void *data) static void gl_set_mvp(void *data, void *shader_data, const void *mat_data) { + gl_t *gl = (gl_t*)data; + + if (gl->shader && gl->shader->set_mvp) + gl->shader->set_mvp(gl, gl->shader_data, + mat_data); } static uint32_t gl_get_flags(void *data) diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 4ef0611f4a..0e012e3c76 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -3614,15 +3614,9 @@ void video_driver_set_mvp(video_shader_ctx_mvp_t *mvp) if (!mvp || !mvp->matrix) return; - if (current_shader && current_shader->set_mvp) - current_shader->set_mvp(mvp->data, + if (video_driver_poke && video_driver_poke->set_mvp) + video_driver_poke->set_mvp(mvp->data, current_shader_data, mvp->matrix); - else - { - if (video_driver_poke && video_driver_poke->set_mvp) - video_driver_poke->set_mvp(mvp->data, - current_shader_data, mvp->matrix); - } } float video_driver_get_refresh_rate(void)