diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index cc4c3aa8ae..3fdef434ba 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -738,6 +738,13 @@ static int mui_get_core_title(char *s, size_t len) return 0; } +static void mui_draw_bg(menu_display_ctx_draw_t *draw) +{ + menu_display_ctl(MENU_DISPLAY_CTL_BLEND_BEGIN, NULL); + menu_display_ctl(MENU_DISPLAY_CTL_DRAW_BG, draw); + menu_display_ctl(MENU_DISPLAY_CTL_BLEND_END, NULL); +} + static void mui_frame(void *data) { unsigned header_height; @@ -847,7 +854,7 @@ static void mui_frame(void *data) && !draw.force_transparency && draw.texture) draw.color = &white_bg[0]; - menu_display_ctl(MENU_DISPLAY_CTL_DRAW_BG, &draw); + mui_draw_bg(&draw); } else { @@ -888,7 +895,7 @@ static void mui_frame(void *data) && !draw.force_transparency && draw.texture) draw.color = &white_bg[0]; - menu_display_ctl(MENU_DISPLAY_CTL_DRAW_BG, &draw); + mui_draw_bg(&draw); /* Restore opacity of transposed white background */ bgcolor_setalpha(white_transp_bg, 0.90); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 94be5453c8..5e915a2280 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1918,8 +1918,10 @@ static void xmb_frame_horizontal_list(xmb_handle_t *xmb, static void xmb_draw_bg(menu_display_ctx_draw_t *draw) { + menu_display_ctl(MENU_DISPLAY_CTL_BLEND_BEGIN, NULL); menu_display_ctl(MENU_DISPLAY_CTL_SET_VIEWPORT, NULL); menu_display_ctl(MENU_DISPLAY_CTL_DRAW_BG, draw); + menu_display_ctl(MENU_DISPLAY_CTL_BLEND_END, NULL); } static void xmb_frame(void *data) diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index 43cc3072f4..a9f9ce6740 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -1116,7 +1116,9 @@ static void zarch_frame(void *data) && !draw.force_transparency && draw.texture) draw.color = &coord_color2[0]; + menu_display_ctl(MENU_DISPLAY_CTL_BLEND_BEGIN, NULL); menu_display_ctl(MENU_DISPLAY_CTL_DRAW_BG, &draw); + menu_display_ctl(MENU_DISPLAY_CTL_BLEND_END, NULL); zui->rendering = false; diff --git a/menu/drivers_display/menu_display_d3d.cpp b/menu/drivers_display/menu_display_d3d.cpp index 82f2c893c0..078fdf57cc 100644 --- a/menu/drivers_display/menu_display_d3d.cpp +++ b/menu/drivers_display/menu_display_d3d.cpp @@ -188,8 +188,6 @@ static void menu_display_d3d_draw_bg(void *data) coords.lut_tex_coord = new_tex_coord; coords.color = (const float*)draw->color; - menu_display_d3d_blend_begin(); - menu_display_ctl(MENU_DISPLAY_CTL_SET_VIEWPORT, NULL); draw->x = 0; @@ -199,8 +197,6 @@ static void menu_display_d3d_draw_bg(void *data) menu_display_d3d_draw(draw); - menu_display_d3d_blend_end(); - #if 0 gl->coords.color = gl->white_color_ptr; #endif diff --git a/menu/drivers_display/menu_display_vulkan.c b/menu/drivers_display/menu_display_vulkan.c index 6a6f2d4be8..98334806ef 100644 --- a/menu/drivers_display/menu_display_vulkan.c +++ b/menu/drivers_display/menu_display_vulkan.c @@ -157,7 +157,6 @@ static void menu_display_vk_draw_bg(void *data) coords.tex_coord = new_tex_coord; coords.color = (const float*)draw->color; - vk->display.blend = true; draw->x = 0; draw->y = 0; draw->coords = &coords; @@ -165,8 +164,6 @@ static void menu_display_vk_draw_bg(void *data) menu_display_vk_get_default_mvp(); menu_display_vk_draw(draw); - - vk->display.blend = false; } static void menu_display_vk_restore_clear_color(void)