From f67bfa24efed294dec4410d04c970c53cca793f0 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 18 Mar 2019 15:19:11 +0100 Subject: [PATCH] Get rid of video_poke_interface set_mvp --- gfx/common/d3d8_common.h | 2 + gfx/common/d3d9_common.h | 2 + gfx/drivers/caca_gfx.c | 2 - gfx/drivers/ctr_gfx.c | 1 - gfx/drivers/d3d10.c | 1 - gfx/drivers/d3d11.c | 1 - gfx/drivers/d3d12.c | 1 - gfx/drivers/d3d8.c | 29 ++++----------- gfx/drivers/d3d9.c | 13 +++---- gfx/drivers/dispmanx_gfx.c | 1 - gfx/drivers/drm_gfx.c | 1 - gfx/drivers/exynos_gfx.c | 1 - gfx/drivers/gdi_gfx.c | 1 - gfx/drivers/gl.c | 1 - gfx/drivers/gl1.c | 1 - gfx/drivers/gl_core.c | 1 - gfx/drivers/gx2_gfx.c | 1 - gfx/drivers/gx_gfx.c | 1 - gfx/drivers/omap_gfx.c | 1 - gfx/drivers/ps2_gfx.c | 1 - gfx/drivers/psp1_gfx.c | 1 - gfx/drivers/sdl2_gfx.c | 1 - gfx/drivers/sdl_gfx.c | 1 - gfx/drivers/sixel_gfx.c | 1 - gfx/drivers/sunxi_gfx.c | 1 - gfx/drivers/switch_gfx.c | 1 - gfx/drivers/switch_nx_gfx.c | 1 - gfx/drivers/vga_gfx.c | 1 - gfx/drivers/vita2d_gfx.c | 1 - gfx/drivers/vulkan.c | 1 - gfx/drivers/xshm_gfx.c | 1 - gfx/drivers/xvideo.c | 1 - gfx/video_driver.c | 47 ------------------------ gfx/video_driver.h | 7 ---- gfx/video_thread_wrapper.c | 1 - menu/drivers_display/menu_display_d3d8.c | 6 +-- menu/drivers_display/menu_display_d3d9.c | 5 +-- 37 files changed, 20 insertions(+), 121 deletions(-) diff --git a/gfx/common/d3d8_common.h b/gfx/common/d3d8_common.h index 556086440b..84125e2d21 100644 --- a/gfx/common/d3d8_common.h +++ b/gfx/common/d3d8_common.h @@ -515,6 +515,8 @@ static INLINE INT32 d3d8_get_xrgb8888_format(void) #endif } +void d3d8_set_mvp(void *data, const void *userdata); + RETRO_END_DECLS #endif diff --git a/gfx/common/d3d9_common.h b/gfx/common/d3d9_common.h index 992447dcf6..56128981a0 100644 --- a/gfx/common/d3d9_common.h +++ b/gfx/common/d3d9_common.h @@ -812,6 +812,8 @@ static INLINE void d3d9_convert_geometry( } } +void d3d9_set_mvp(void *data, const void *userdata); + RETRO_END_DECLS #endif diff --git a/gfx/drivers/caca_gfx.c b/gfx/drivers/caca_gfx.c index 6a2abac951..5c88affec5 100644 --- a/gfx/drivers/caca_gfx.c +++ b/gfx/drivers/caca_gfx.c @@ -306,8 +306,6 @@ static void caca_set_osd_msg(void *data, static const video_poke_interface_t caca_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ - NULL, NULL, NULL, NULL, diff --git a/gfx/drivers/ctr_gfx.c b/gfx/drivers/ctr_gfx.c index a87a659f90..525d9491ff 100644 --- a/gfx/drivers/ctr_gfx.c +++ b/gfx/drivers/ctr_gfx.c @@ -1144,7 +1144,6 @@ static void ctr_set_osd_msg(void *data, static const video_poke_interface_t ctr_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ ctr_load_texture, ctr_unload_texture, NULL, diff --git a/gfx/drivers/d3d10.c b/gfx/drivers/d3d10.c index c20116ca6f..89b483b2bc 100644 --- a/gfx/drivers/d3d10.c +++ b/gfx/drivers/d3d10.c @@ -1684,7 +1684,6 @@ static uint32_t d3d10_get_flags(void *data) static const video_poke_interface_t d3d10_poke_interface = { d3d10_get_flags, - NULL, /* set_mvp */ d3d10_gfx_load_texture, d3d10_gfx_unload_texture, NULL, /* set_video_mode */ diff --git a/gfx/drivers/d3d11.c b/gfx/drivers/d3d11.c index a27864e1d1..027e3d5ad5 100644 --- a/gfx/drivers/d3d11.c +++ b/gfx/drivers/d3d11.c @@ -1751,7 +1751,6 @@ static uint32_t d3d11_get_flags(void *data) static const video_poke_interface_t d3d11_poke_interface = { d3d11_get_flags, - NULL, /* set_mvp */ d3d11_gfx_load_texture, d3d11_gfx_unload_texture, NULL, /* set_video_mode */ diff --git a/gfx/drivers/d3d12.c b/gfx/drivers/d3d12.c index 733803ea19..d778a1730d 100644 --- a/gfx/drivers/d3d12.c +++ b/gfx/drivers/d3d12.c @@ -1797,7 +1797,6 @@ static uint32_t d3d12_get_flags(void *data) static const video_poke_interface_t d3d12_poke_interface = { d3d12_get_flags, - NULL, /* set_mvp */ d3d12_gfx_load_texture, d3d12_gfx_unload_texture, NULL, /* set_video_mode */ diff --git a/gfx/drivers/d3d8.c b/gfx/drivers/d3d8.c index 9ffe225e2d..f5aa6bf2c0 100644 --- a/gfx/drivers/d3d8.c +++ b/gfx/drivers/d3d8.c @@ -86,23 +86,20 @@ typedef struct d3d8_renderchain uint64_t frame_count; } d3d8_renderchain_t; -static void d3d8_renderchain_set_mvp( - d3d8_video_t *d3d, - void *chain_data, - void *shader_data, - const void *mat_data) +void d3d8_set_mvp(void *data, const void *mat_data) { struct d3d_matrix matrix; + LPDIRECT3DDEVICE8 d3dr = (LPDIRECT3DDEVICE8)data; d3d_matrix_identity(&matrix); - d3d8_set_transform(d3d->dev, D3DTS_PROJECTION, (D3DMATRIX*)&matrix); - d3d8_set_transform(d3d->dev, D3DTS_VIEW, (D3DMATRIX*)&matrix); + d3d8_set_transform(d3dr, D3DTS_PROJECTION, (D3DMATRIX*)&matrix); + d3d8_set_transform(d3dr, D3DTS_VIEW, (D3DMATRIX*)&matrix); if (mat_data) d3d_matrix_transpose(&matrix, mat_data); - d3d8_set_transform(d3d->dev, D3DTS_WORLD, (D3DMATRIX*)&matrix); + d3d8_set_transform(d3dr, D3DTS_WORLD, (D3DMATRIX*)&matrix); } static bool d3d8_renderchain_create_first_pass( @@ -288,7 +285,7 @@ static void d3d8_renderchain_render_pass( D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_DIFFUSE, NULL); d3d8_set_stream_source(d3dr, 0, chain->vertex_buf, 0, sizeof(Vertex)); - d3d8_renderchain_set_mvp(d3d, chain, NULL, &d3d->mvp_rotate); + d3d8_set_mvp(d3d->dev, &d3d->mvp_rotate); d3d8_draw_primitive(d3dr, D3DPT_TRIANGLESTRIP, 0, 2); } @@ -427,15 +424,6 @@ static void d3d8_viewport_info(void *data, struct video_viewport *vp) d3d8_renderchain_viewport_info(d3d, vp); } -static void d3d8_set_mvp(void *data, - void *shader_data, - const void *mat_data) -{ - d3d8_video_t *d3d = (d3d8_video_t*)data; - if (d3d) - d3d8_renderchain_set_mvp(d3d, d3d->renderchain_data, shader_data, mat_data); -} - static void d3d8_overlay_render(d3d8_video_t *d3d, video_frame_info_t *video_info, overlay_t *overlay, bool force_linear) @@ -1598,7 +1586,7 @@ static bool d3d8_frame(void *data, const void *frame, #ifdef HAVE_MENU if (d3d->menu && d3d->menu->enabled) { - d3d8_set_mvp(d3d, NULL, &d3d->mvp); + d3d8_set_mvp(d3d->dev, &d3d->mvp); d3d8_overlay_render(d3d, video_info, d3d->menu, false); d3d->menu_display.offset = 0; @@ -1623,7 +1611,7 @@ static bool d3d8_frame(void *data, const void *frame, #ifdef HAVE_OVERLAY if (d3d->overlays_enabled) { - d3d8_set_mvp(d3d, NULL, &d3d->mvp); + d3d8_set_mvp(d3d->dev, &d3d->mvp); for (i = 0; i < d3d->overlays_size; i++) d3d8_overlay_render(d3d, video_info, &d3d->overlays[i], true); } @@ -1854,7 +1842,6 @@ static uint32_t d3d8_get_flags(void *data) static const video_poke_interface_t d3d_poke_interface = { d3d8_get_flags, - d3d8_set_mvp, d3d8_load_texture, d3d8_unload_texture, d3d8_set_video_mode, diff --git a/gfx/drivers/d3d9.c b/gfx/drivers/d3d9.c index e79b527297..e8797b092f 100644 --- a/gfx/drivers/d3d9.c +++ b/gfx/drivers/d3d9.c @@ -456,12 +456,10 @@ static void d3d9_viewport_info(void *data, struct video_viewport *vp) vp->full_height = height; } -static void d3d9_set_mvp(void *data, - void *shader_data, - const void *mat_data) +void d3d9_set_mvp(void *data, const void *mat_data) { - d3d9_video_t *d3d = (d3d9_video_t*)data; - d3d9_set_vertex_shader_constantf(d3d->dev, 0, (const float*)mat_data, 4); + LPDIRECT3DDEVICE9 dev = (LPDIRECT3DDEVICE9)data; + d3d9_set_vertex_shader_constantf(dev, 0, (const float*)mat_data, 4); } static void d3d9_overlay_render(d3d9_video_t *d3d, @@ -1696,7 +1694,7 @@ static bool d3d9_frame(void *data, const void *frame, #ifdef HAVE_MENU if (d3d->menu && d3d->menu->enabled) { - d3d9_set_mvp(d3d, NULL, &d3d->mvp); + d3d9_set_mvp(d3d->dev, &d3d->mvp); d3d9_overlay_render(d3d, video_info, d3d->menu, false); d3d->menu_display.offset = 0; @@ -1725,7 +1723,7 @@ static bool d3d9_frame(void *data, const void *frame, #ifdef HAVE_OVERLAY if (d3d->overlays_enabled) { - d3d9_set_mvp(d3d, NULL, &d3d->mvp); + d3d9_set_mvp(d3d->dev, &d3d->mvp); for (i = 0; i < d3d->overlays_size; i++) d3d9_overlay_render(d3d, video_info, &d3d->overlays[i], true); } @@ -2053,7 +2051,6 @@ static uint32_t d3d9_get_flags(void *data) static const video_poke_interface_t d3d9_poke_interface = { d3d9_get_flags, - d3d9_set_mvp, d3d9_load_texture, d3d9_unload_texture, d3d9_set_video_mode, diff --git a/gfx/drivers/dispmanx_gfx.c b/gfx/drivers/dispmanx_gfx.c index e0262894d7..74b6504c13 100644 --- a/gfx/drivers/dispmanx_gfx.c +++ b/gfx/drivers/dispmanx_gfx.c @@ -632,7 +632,6 @@ static void dispmanx_set_aspect_ratio (void *data, unsigned aspect_ratio_idx) static const video_poke_interface_t dispmanx_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, /* set_video_mode */ diff --git a/gfx/drivers/drm_gfx.c b/gfx/drivers/drm_gfx.c index d2cf0b1dc2..41a99df738 100644 --- a/gfx/drivers/drm_gfx.c +++ b/gfx/drivers/drm_gfx.c @@ -966,7 +966,6 @@ static void drm_set_aspect_ratio (void *data, unsigned aspect_ratio_idx) static const video_poke_interface_t drm_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, /* set_video_mode */ diff --git a/gfx/drivers/exynos_gfx.c b/gfx/drivers/exynos_gfx.c index a166bc9a8e..6e919ccf98 100644 --- a/gfx/drivers/exynos_gfx.c +++ b/gfx/drivers/exynos_gfx.c @@ -1489,7 +1489,6 @@ static void exynos_show_mouse(void *data, bool state) static const video_poke_interface_t exynos_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, /* set_video_mode */ diff --git a/gfx/drivers/gdi_gfx.c b/gfx/drivers/gdi_gfx.c index 667c8724f6..68d5cdca55 100644 --- a/gfx/drivers/gdi_gfx.c +++ b/gfx/drivers/gdi_gfx.c @@ -631,7 +631,6 @@ static void gdi_unload_texture(void *data, uintptr_t handle) static const video_poke_interface_t gdi_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ gdi_load_texture, gdi_unload_texture, gdi_set_video_mode, diff --git a/gfx/drivers/gl.c b/gfx/drivers/gl.c index 81b040f391..a1294b496f 100644 --- a/gfx/drivers/gl.c +++ b/gfx/drivers/gl.c @@ -4142,7 +4142,6 @@ static uint32_t gl2_get_flags(void *data) static const video_poke_interface_t gl2_poke_interface = { gl2_get_flags, - NULL, /* set_mvp */ gl2_load_texture, gl2_unload_texture, gl2_set_video_mode, diff --git a/gfx/drivers/gl1.c b/gfx/drivers/gl1.c index 4bbd0ea7ea..77550ca204 100644 --- a/gfx/drivers/gl1.c +++ b/gfx/drivers/gl1.c @@ -1250,7 +1250,6 @@ static uint32_t gl1_get_flags(void *data) static const video_poke_interface_t gl1_poke_interface = { gl1_get_flags, - NULL, gl1_load_texture, gl1_unload_texture, gl1_set_video_mode, diff --git a/gfx/drivers/gl_core.c b/gfx/drivers/gl_core.c index 5ef082ddbb..ef3025e01e 100644 --- a/gfx/drivers/gl_core.c +++ b/gfx/drivers/gl_core.c @@ -1960,7 +1960,6 @@ static retro_proc_address_t gl_core_get_proc_address(void *data, const char *sym static const video_poke_interface_t gl_core_poke_interface = { gl_core_get_flags, - NULL, /* set_mvp */ gl_core_load_texture, gl_core_unload_texture, gl_core_set_video_mode, diff --git a/gfx/drivers/gx2_gfx.c b/gfx/drivers/gx2_gfx.c index 9c0e8354bc..544354f105 100644 --- a/gfx/drivers/gx2_gfx.c +++ b/gfx/drivers/gx2_gfx.c @@ -1717,7 +1717,6 @@ static uint32_t wiiu_gfx_get_flags(void *data) static const video_poke_interface_t wiiu_poke_interface = { wiiu_gfx_get_flags, - NULL, /* set_mvp */ wiiu_gfx_load_texture, wiiu_gfx_unload_texture, NULL, /* set_video_mode */ diff --git a/gfx/drivers/gx_gfx.c b/gfx/drivers/gx_gfx.c index 14438aa9c8..723f481419 100644 --- a/gfx/drivers/gx_gfx.c +++ b/gfx/drivers/gx_gfx.c @@ -1265,7 +1265,6 @@ static void gx_get_video_output_next(void *data) static const video_poke_interface_t gx_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, gx_set_video_mode, diff --git a/gfx/drivers/omap_gfx.c b/gfx/drivers/omap_gfx.c index 783a9a838e..c202f16ae3 100644 --- a/gfx/drivers/omap_gfx.c +++ b/gfx/drivers/omap_gfx.c @@ -1138,7 +1138,6 @@ static float omap_get_refresh_rate(void *data) static const video_poke_interface_t omap_gfx_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, diff --git a/gfx/drivers/ps2_gfx.c b/gfx/drivers/ps2_gfx.c index 4ef83f763a..ff6db846e0 100644 --- a/gfx/drivers/ps2_gfx.c +++ b/gfx/drivers/ps2_gfx.c @@ -470,7 +470,6 @@ static bool ps2_get_hw_render_interface(void* data, static const video_poke_interface_t ps2_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, diff --git a/gfx/drivers/psp1_gfx.c b/gfx/drivers/psp1_gfx.c index c05397797a..497b866319 100644 --- a/gfx/drivers/psp1_gfx.c +++ b/gfx/drivers/psp1_gfx.c @@ -832,7 +832,6 @@ static void psp_viewport_info(void *data, struct video_viewport *vp) static const video_poke_interface_t psp_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, diff --git a/gfx/drivers/sdl2_gfx.c b/gfx/drivers/sdl2_gfx.c index c7f73fe24f..dbd7a2467a 100644 --- a/gfx/drivers/sdl2_gfx.c +++ b/gfx/drivers/sdl2_gfx.c @@ -726,7 +726,6 @@ static void sdl2_grab_mouse_toggle(void *data) static video_poke_interface_t sdl2_video_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, diff --git a/gfx/drivers/sdl_gfx.c b/gfx/drivers/sdl_gfx.c index 914fa3d5dc..d2d7cbe932 100644 --- a/gfx/drivers/sdl_gfx.c +++ b/gfx/drivers/sdl_gfx.c @@ -518,7 +518,6 @@ static void sdl_grab_mouse_toggle(void *data) static const video_poke_interface_t sdl_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, diff --git a/gfx/drivers/sixel_gfx.c b/gfx/drivers/sixel_gfx.c index 10feb2d56f..e2c6724e4e 100644 --- a/gfx/drivers/sixel_gfx.c +++ b/gfx/drivers/sixel_gfx.c @@ -602,7 +602,6 @@ static const video_poke_interface_t sixel_poke_interface = { NULL, NULL, NULL, - NULL, sixel_set_video_mode, NULL, NULL, diff --git a/gfx/drivers/sunxi_gfx.c b/gfx/drivers/sunxi_gfx.c index b4d8390d01..3f72e4158c 100644 --- a/gfx/drivers/sunxi_gfx.c +++ b/gfx/drivers/sunxi_gfx.c @@ -944,7 +944,6 @@ static float sunxi_get_refresh_rate (void *data) static const video_poke_interface_t sunxi_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, /* set_video_mode */ diff --git a/gfx/drivers/switch_gfx.c b/gfx/drivers/switch_gfx.c index 04c442654c..cedad20ed9 100644 --- a/gfx/drivers/switch_gfx.c +++ b/gfx/drivers/switch_gfx.c @@ -406,7 +406,6 @@ static void switch_set_texture_enable(void *data, bool enable, bool full_screen) static const video_poke_interface_t switch_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, /* load_texture */ NULL, /* unload_texture */ NULL, /* set_video_mode */ diff --git a/gfx/drivers/switch_nx_gfx.c b/gfx/drivers/switch_nx_gfx.c index 8c7c603aa0..44cc61cfa8 100644 --- a/gfx/drivers/switch_nx_gfx.c +++ b/gfx/drivers/switch_nx_gfx.c @@ -755,7 +755,6 @@ void switch_overlay_interface(void *data, const video_overlay_interface_t **ifac static const video_poke_interface_t switch_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, /* load_texture */ NULL, /* unload_texture */ NULL, /* set_video_mode */ diff --git a/gfx/drivers/vga_gfx.c b/gfx/drivers/vga_gfx.c index 02db6a474f..4c1a96bb06 100644 --- a/gfx/drivers/vga_gfx.c +++ b/gfx/drivers/vga_gfx.c @@ -391,7 +391,6 @@ static void vga_set_osd_msg(void *data, static const video_poke_interface_t vga_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, diff --git a/gfx/drivers/vita2d_gfx.c b/gfx/drivers/vita2d_gfx.c index 4a3cbb33ae..b0436bc31a 100644 --- a/gfx/drivers/vita2d_gfx.c +++ b/gfx/drivers/vita2d_gfx.c @@ -790,7 +790,6 @@ static bool vita_get_current_sw_framebuffer(void *data, static const video_poke_interface_t vita_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ vita_load_texture, vita_unload_texture, NULL, diff --git a/gfx/drivers/vulkan.c b/gfx/drivers/vulkan.c index e35a875b77..b0a1b50191 100644 --- a/gfx/drivers/vulkan.c +++ b/gfx/drivers/vulkan.c @@ -2407,7 +2407,6 @@ static uint32_t vulkan_get_flags(void *data) static const video_poke_interface_t vulkan_poke_interface = { vulkan_get_flags, - NULL, /* set_mvp */ vulkan_load_texture, vulkan_unload_texture, vulkan_set_video_mode, diff --git a/gfx/drivers/xshm_gfx.c b/gfx/drivers/xshm_gfx.c index cfeda3481b..ed6033fae7 100644 --- a/gfx/drivers/xshm_gfx.c +++ b/gfx/drivers/xshm_gfx.c @@ -205,7 +205,6 @@ static void xshm_grab_mouse_toggle(void *data) static video_poke_interface_t xshm_video_poke_interface = { NULL, /* get_flags */ - NULL, /* set_mvp */ NULL, NULL, NULL, diff --git a/gfx/drivers/xvideo.c b/gfx/drivers/xvideo.c index 70fc2b5d27..e1016129fc 100644 --- a/gfx/drivers/xvideo.c +++ b/gfx/drivers/xvideo.c @@ -939,7 +939,6 @@ static video_poke_interface_t xv_video_poke_interface = { NULL, NULL, NULL, - NULL, x11_get_refresh_rate, NULL, NULL, diff --git a/gfx/video_driver.c b/gfx/video_driver.c index db87f6183f..84ddb15ac3 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -125,8 +125,6 @@ typedef struct video_pixel_scaler void *scaler_out; } video_pixel_scaler_t; -static bool (*video_driver_cb_shader_set_mvp)(void *data, - void *shader_data, const void *mat_data); bool (*video_driver_cb_has_focus)(void); /* Opaque handles to currently running window. @@ -2852,8 +2850,6 @@ void video_driver_build_info(video_frame_info_t *video_info) video_info->cb_get_metrics = current_video_context.get_metrics; video_info->cb_set_resize = current_video_context.set_resize; - video_info->cb_set_mvp = video_driver_cb_shader_set_mvp; - video_info->userdata = video_driver_get_ptr(false); #ifdef HAVE_THREADS @@ -3472,31 +3468,6 @@ bool video_shader_driver_deinit(void) return true; } -static bool video_driver_cb_set_mvp(void *data, - void *shader_data, const void *mat_data) -{ - video_shader_ctx_mvp_t mvp; - mvp.data = data; - mvp.matrix = mat_data; - - video_driver_set_mvp(&mvp); - return true; -} - -static void video_shader_driver_reset_to_defaults(void) -{ - if (!current_shader) - return; - - if (current_shader->set_mvp) - video_driver_cb_shader_set_mvp = current_shader->set_mvp; - else - { - current_shader->set_mvp = video_driver_cb_set_mvp; - video_driver_cb_shader_set_mvp = video_driver_cb_set_mvp; - } -} - /* Finds first suitable shader context driver. */ bool video_shader_driver_init_first(const void *data) { @@ -3504,7 +3475,6 @@ bool video_shader_driver_init_first(const void *data) if (!ptr) return false; current_shader = ptr; - video_shader_driver_reset_to_defaults(); return true; } @@ -3539,27 +3509,10 @@ bool video_shader_driver_init(video_shader_ctx_init_t *init) RARCH_LOG("Resetting shader to defaults ... \n"); current_shader = (shader_backend_t*)init->shader; - video_shader_driver_reset_to_defaults(); return true; } -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, - 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) { if (video_driver_poke && video_driver_poke->get_refresh_rate) diff --git a/gfx/video_driver.h b/gfx/video_driver.h index de35ab60b2..9affce35fa 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -492,9 +492,6 @@ typedef struct video_frame_info float *value); bool (*cb_set_resize)(void*, unsigned, unsigned); - bool (*cb_set_mvp)(void *data, void *shader_data, - const void *mat_data); - void *context_data; void *shader_data; void *userdata; @@ -691,8 +688,6 @@ struct aspect_ratio_elem typedef struct video_poke_interface { uint32_t (*get_flags)(void *data); - void (*set_mvp)(void *data, void *shader_data, - const void *mat_data); uintptr_t (*load_texture)(void *video_data, void *data, bool threaded, enum texture_filter_type filter_type); void (*unload_texture)(void *data, uintptr_t id); @@ -1196,8 +1191,6 @@ bool video_shader_driver_init_first(const void *data); bool video_shader_driver_init(video_shader_ctx_init_t *init); -void video_driver_set_mvp(video_shader_ctx_mvp_t *mvp); - float video_driver_get_refresh_rate(void); extern bool (*video_driver_cb_has_focus)(void); diff --git a/gfx/video_thread_wrapper.c b/gfx/video_thread_wrapper.c index 94f4b9f727..a7cf29b2d6 100644 --- a/gfx/video_thread_wrapper.c +++ b/gfx/video_thread_wrapper.c @@ -1241,7 +1241,6 @@ static uint32_t thread_get_flags(void *data) static const video_poke_interface_t thread_poke = { thread_get_flags, - NULL, /* set_mvp */ thread_load_texture, thread_unload_texture, thread_set_video_mode, diff --git a/menu/drivers_display/menu_display_d3d8.c b/menu/drivers_display/menu_display_d3d8.c index c4b0279553..f5189bed91 100644 --- a/menu/drivers_display/menu_display_d3d8.c +++ b/menu/drivers_display/menu_display_d3d8.c @@ -121,7 +121,6 @@ static void menu_display_d3d8_draw(menu_display_ctx_draw_t *draw, video_frame_info_t *video_info) { unsigned i; - video_shader_ctx_mvp_t mvp; math_matrix_4x4 mop, m1, m2; unsigned width, height; d3d8_video_t *d3d = video_info ? @@ -212,9 +211,8 @@ static void menu_display_d3d8_draw(menu_display_ctx_draw_t *draw, matrix_4x4_multiply(m2, d3d->mvp_transposed, m1); d3d_matrix_transpose(&m1, &m2); - mvp.data = d3d; - mvp.matrix = &m1; - video_driver_set_mvp(&mvp); + d3d8_set_mvp(d3d->dev, &m1); + if (draw && draw->texture) menu_display_d3d8_bind_texture(draw, d3d); diff --git a/menu/drivers_display/menu_display_d3d9.c b/menu/drivers_display/menu_display_d3d9.c index 72a3ba8e65..003afb7062 100644 --- a/menu/drivers_display/menu_display_d3d9.c +++ b/menu/drivers_display/menu_display_d3d9.c @@ -122,7 +122,6 @@ static void menu_display_d3d9_draw(menu_display_ctx_draw_t *draw, video_frame_info_t *video_info) { unsigned i; - video_shader_ctx_mvp_t mvp; math_matrix_4x4 mop, m1, m2; unsigned width, height; LPDIRECT3DDEVICE9 dev; @@ -205,9 +204,7 @@ static void menu_display_d3d9_draw(menu_display_ctx_draw_t *draw, matrix_4x4_multiply(m2, d3d->mvp_transposed, m1); d3d_matrix_transpose(&m1, &m2); - mvp.data = d3d; - mvp.matrix = &m1; - video_driver_set_mvp(&mvp); + d3d9_set_mvp(d3d->dev, &m1); if (draw && draw->texture) menu_display_d3d9_bind_texture(draw, d3d);