diff --git a/gfx/drivers/d3d11.c b/gfx/drivers/d3d11.c index bb89c70d4b..05d4b63aec 100644 --- a/gfx/drivers/d3d11.c +++ b/gfx/drivers/d3d11.c @@ -522,7 +522,7 @@ static bool d3d11_gfx_frame( D3D11SetPShaderSamplers(d3d11->ctx, 0, 1, &d3d11->sampler_linear); D3D11SetBlendState(d3d11->ctx, d3d11->blend_enable, NULL, D3D11_DEFAULT_SAMPLE_MASK); - d3d11->sprites.offset = 0; + d3d11->sprites.enabled = true; if (d3d11->menu.enabled) diff --git a/gfx/drivers_font/d3d11_font.c b/gfx/drivers_font/d3d11_font.c index 8cce456f5d..50b610e7cf 100644 --- a/gfx/drivers_font/d3d11_font.c +++ b/gfx/drivers_font/d3d11_font.c @@ -135,9 +135,12 @@ static void d3d11_font_render_line( int x = roundf(pos_x * width); int y = roundf((1.0 - pos_y) * height); - if (!d3d11->sprites.enabled || d3d11->sprites.offset + msg_len > d3d11->sprites.capacity) + if (!d3d11->sprites.enabled || msg_len > d3d11->sprites.capacity) return; + if(d3d11->sprites.offset + msg_len > d3d11->sprites.capacity) + d3d11->sprites.offset = 0; + switch (text_align) { case TEXT_ALIGN_RIGHT: diff --git a/menu/drivers_display/menu_display_d3d11.c b/menu/drivers_display/menu_display_d3d11.c index 427ea924d6..c028bd6c0f 100644 --- a/menu/drivers_display/menu_display_d3d11.c +++ b/menu/drivers_display/menu_display_d3d11.c @@ -53,7 +53,8 @@ static void menu_display_d3d11_draw(void* data) return; if(d3d11->sprites.offset + 1 > d3d11->sprites.capacity) - return; + d3d11->sprites.offset = 0; + D3D11_MAPPED_SUBRESOURCE mapped_vbo; D3D11MapBuffer(d3d11->ctx, d3d11->sprites.vbo, 0, D3D11_MAP_WRITE_NO_OVERWRITE, 0, &mapped_vbo);