diff --git a/src/render_d3d9.c b/src/render_d3d9.c index 84d6632..ade0ae6 100644 --- a/src/render_d3d9.c +++ b/src/render_d3d9.c @@ -534,7 +534,10 @@ DWORD WINAPI d3d9_render_main(void) LeaveCriticalSection(&g_ddraw->cs); - IDirect3DDevice9_Clear(g_d3d9.device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); + if (g_ddraw->render.viewport.x != 0 || g_ddraw->render.viewport.y != 0) + { + IDirect3DDevice9_Clear(g_d3d9.device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); + } IDirect3DDevice9_BeginScene(g_d3d9.device); IDirect3DDevice9_DrawPrimitive(g_d3d9.device, D3DPT_TRIANGLESTRIP, 0, 2); diff --git a/src/render_ogl.c b/src/render_ogl.c index 3db579f..652b2c9 100644 --- a/src/render_ogl.c +++ b/src/render_ogl.c @@ -755,7 +755,10 @@ static void ogl_render() LeaveCriticalSection(&g_ddraw->cs); - glClear(GL_COLOR_BUFFER_BIT); + if (g_ddraw->render.viewport.x != 0 || g_ddraw->render.viewport.y != 0) + { + glClear(GL_COLOR_BUFFER_BIT); + } if (scale_changed) {