diff --git a/gfx/drivers_display/gfx_display_d3d10.c b/gfx/drivers_display/gfx_display_d3d10.c index 1e06738f7e..4e6bea1f6c 100644 --- a/gfx/drivers_display/gfx_display_d3d10.c +++ b/gfx/drivers_display/gfx_display_d3d10.c @@ -163,6 +163,7 @@ static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw, } static void gfx_display_d3d10_draw_pipeline(gfx_display_ctx_draw_t* draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) { d3d10_video_t* d3d10 = (d3d10_video_t*)data; @@ -175,7 +176,6 @@ static void gfx_display_d3d10_draw_pipeline(gfx_display_ctx_draw_t* draw, case VIDEO_SHADER_MENU: case VIDEO_SHADER_MENU_2: { - gfx_display_t *p_disp = disp_get_ptr(); video_coord_array_t* ca = &p_disp->dispca; if (!d3d10->menu_pipeline_vbo) diff --git a/gfx/drivers_display/gfx_display_d3d11.c b/gfx/drivers_display/gfx_display_d3d11.c index f50c06d4c7..356ac97095 100644 --- a/gfx/drivers_display/gfx_display_d3d11.c +++ b/gfx/drivers_display/gfx_display_d3d11.c @@ -162,6 +162,7 @@ static void gfx_display_d3d11_draw(gfx_display_ctx_draw_t *draw, } static void gfx_display_d3d11_draw_pipeline(gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) { d3d11_video_t *d3d11 = (d3d11_video_t*)data; @@ -174,7 +175,6 @@ static void gfx_display_d3d11_draw_pipeline(gfx_display_ctx_draw_t *draw, case VIDEO_SHADER_MENU: case VIDEO_SHADER_MENU_2: { - gfx_display_t *p_disp = disp_get_ptr(); video_coord_array_t* ca = &p_disp->dispca; if (!d3d11->menu_pipeline_vbo) diff --git a/gfx/drivers_display/gfx_display_d3d12.c b/gfx/drivers_display/gfx_display_d3d12.c index 45d71209ec..5518554416 100644 --- a/gfx/drivers_display/gfx_display_d3d12.c +++ b/gfx/drivers_display/gfx_display_d3d12.c @@ -179,6 +179,7 @@ static void gfx_display_d3d12_draw(gfx_display_ctx_draw_t *draw, } static void gfx_display_d3d12_draw_pipeline(gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) { d3d12_video_t *d3d12 = (d3d12_video_t*)data; @@ -191,7 +192,6 @@ static void gfx_display_d3d12_draw_pipeline(gfx_display_ctx_draw_t *draw, case VIDEO_SHADER_MENU: case VIDEO_SHADER_MENU_2: { - gfx_display_t *p_disp = disp_get_ptr(); video_coord_array_t* ca = &p_disp->dispca; if (!d3d12->menu_pipeline_vbo) diff --git a/gfx/drivers_display/gfx_display_d3d9.c b/gfx/drivers_display/gfx_display_d3d9.c index b2dd902fb7..23b5365481 100644 --- a/gfx/drivers_display/gfx_display_d3d9.c +++ b/gfx/drivers_display/gfx_display_d3d9.c @@ -212,12 +212,12 @@ static void gfx_display_d3d9_draw(gfx_display_ctx_draw_t *draw, } static void gfx_display_d3d9_draw_pipeline(gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) { #if defined(HAVE_HLSL) || defined(HAVE_CG) static float t = 0; video_coord_array_t *ca = NULL; - gfx_display_t *p_disp = disp_get_ptr(); if (!draw) return; diff --git a/gfx/drivers_display/gfx_display_gl.c b/gfx/drivers_display/gfx_display_gl.c index cde1e19587..ef73b1f30b 100644 --- a/gfx/drivers_display/gfx_display_gl.c +++ b/gfx/drivers_display/gfx_display_gl.c @@ -253,6 +253,7 @@ static void gfx_display_gl_draw(gfx_display_ctx_draw_t *draw, static void gfx_display_gl_draw_pipeline( gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) @@ -261,7 +262,6 @@ static void gfx_display_gl_draw_pipeline( struct uniform_info uniform_param; gl_t *gl = (gl_t*)data; static float t = 0; - gfx_display_t *p_disp = disp_get_ptr(); video_coord_array_t *ca = &p_disp->dispca; draw->x = 0; diff --git a/gfx/drivers_display/gfx_display_gl1.c b/gfx/drivers_display/gfx_display_gl1.c index c5684c6667..66e8376e04 100644 --- a/gfx/drivers_display/gfx_display_gl1.c +++ b/gfx/drivers_display/gfx_display_gl1.c @@ -202,7 +202,7 @@ static void gfx_display_gl1_scissor_end( gfx_display_ctx_driver_t gfx_display_ctx_gl1 = { gfx_display_gl1_draw, - NULL, + NULL, /* draw_pipeline */ gfx_display_gl1_blend_begin, gfx_display_gl1_blend_end, gfx_display_gl1_get_default_mvp, diff --git a/gfx/drivers_display/gfx_display_gl_core.c b/gfx/drivers_display/gfx_display_gl_core.c index 23f383f8e1..a661ae5f41 100644 --- a/gfx/drivers_display/gfx_display_gl_core.c +++ b/gfx/drivers_display/gfx_display_gl_core.c @@ -66,7 +66,9 @@ static const float *gfx_display_gl_core_get_default_tex_coords(void) return &gl_core_tex_coords[0]; } -static void gfx_display_gl_core_draw_pipeline(gfx_display_ctx_draw_t *draw, +static void gfx_display_gl_core_draw_pipeline( + gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) @@ -78,7 +80,6 @@ static void gfx_display_gl_core_draw_pipeline(gfx_display_ctx_draw_t *draw, static float t = 0.0f; float yflip = 0.0f; video_coord_array_t *ca = NULL; - gfx_display_t *p_disp = disp_get_ptr(); gl_core_t *gl = (gl_core_t*)data; if (!gl || !draw) diff --git a/gfx/drivers_display/gfx_display_metal.m b/gfx/drivers_display/gfx_display_metal.m index a0f999a102..c293233b39 100644 --- a/gfx/drivers_display/gfx_display_metal.m +++ b/gfx/drivers_display/gfx_display_metal.m @@ -76,6 +76,7 @@ static void gfx_display_metal_draw(gfx_display_ctx_draw_t *draw, static void gfx_display_metal_draw_pipeline( gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) diff --git a/gfx/drivers_display/gfx_display_vulkan.c b/gfx/drivers_display/gfx_display_vulkan.c index a94236fa01..1281cceaba 100644 --- a/gfx/drivers_display/gfx_display_vulkan.c +++ b/gfx/drivers_display/gfx_display_vulkan.c @@ -88,15 +88,16 @@ static unsigned to_menu_pipeline( return 0; } -static void gfx_display_vk_draw_pipeline(gfx_display_ctx_draw_t *draw, +static void gfx_display_vk_draw_pipeline( + gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) { static uint8_t ubo_scratch_data[768]; - static float t = 0.0f; - gfx_display_t *p_disp = disp_get_ptr(); - float yflip = 1.0f; static struct video_coords blank_coords; + static float t = 0.0f; float output_size[2]; + float yflip = 1.0f; video_coord_array_t *ca = NULL; vk_t *vk = (vk_t*)data; diff --git a/gfx/drivers_display/gfx_display_wiiu.c b/gfx/drivers_display/gfx_display_wiiu.c index 39a00be7dc..b11870c322 100644 --- a/gfx/drivers_display/gfx_display_wiiu.c +++ b/gfx/drivers_display/gfx_display_wiiu.c @@ -207,11 +207,12 @@ static void gfx_display_wiiu_draw(gfx_display_ctx_draw_t *draw, sizeof(*wiiu->vertex_cache.v), wiiu->vertex_cache.v); } -static void gfx_display_wiiu_draw_pipeline(gfx_display_ctx_draw_t *draw, +static void gfx_display_wiiu_draw_pipeline( + gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height) { video_coord_array_t *ca = NULL; - gfx_display_t *p_disp = disp_get_ptr(); wiiu_video_t *wiiu = (wiiu_video_t*)data; if (!wiiu || !draw) diff --git a/gfx/gfx_display.h b/gfx/gfx_display.h index a004fa45d0..c6befe26c5 100644 --- a/gfx/gfx_display.h +++ b/gfx/gfx_display.h @@ -112,6 +112,7 @@ typedef struct gfx_display_frame_info typedef struct gfx_display_ctx_draw gfx_display_ctx_draw_t; +typedef struct gfx_display gfx_display_t; typedef struct gfx_display_ctx_driver { @@ -120,6 +121,7 @@ typedef struct gfx_display_ctx_driver void *data, unsigned video_width, unsigned video_height); /* Draw one of the menu pipeline shaders. */ void (*draw_pipeline)(gfx_display_ctx_draw_t *draw, + gfx_display_t *p_disp, void *data, unsigned video_width, unsigned video_height); /* Start blending operation. */ void (*blend_begin)(void *data); @@ -221,8 +223,6 @@ struct gfx_display bool framebuf_dirty; }; -typedef struct gfx_display gfx_display_t; - void gfx_display_free(void); void gfx_display_init(void); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 7f98079556..1b6c2f4fed 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -4142,7 +4142,8 @@ static void xmb_draw_bg( } if (dispctx && dispctx->draw_pipeline) - dispctx->draw_pipeline(&draw, userdata, video_width, video_height); + dispctx->draw_pipeline(&draw, p_disp, + userdata, video_width, video_height); } else #endif