diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c index 166ab0dbc9..5c2fe45316 100644 --- a/src/render/SDL_render.c +++ b/src/render/SDL_render.c @@ -4011,7 +4011,6 @@ int SDL_RenderPresent(SDL_Renderer *renderer) SDL_SetRenderScale(renderer, 1.0f, 1.0f); SDL_RenderLogicalBorders(renderer); SDL_RenderTexture(renderer, renderer->logical_target, &renderer->logical_src_rect, &renderer->logical_dst_rect); - SDL_SetRenderTargetInternal(renderer, renderer->logical_target); } FlushRenderCommands(renderer); /* time to send everything to the GPU! */ @@ -4026,6 +4025,10 @@ int SDL_RenderPresent(SDL_Renderer *renderer) presented = SDL_FALSE; } + if (renderer->logical_target) { + SDL_SetRenderTargetInternal(renderer, renderer->logical_target); + } + if (renderer->simulate_vsync || (!presented && renderer->wanted_vsync)) { SDL_SimulateRenderVSync(renderer);