mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-25 12:38:29 +00:00
render: Make sure logical_target is bound when presenting.
Fixes black screen on macOS. Fixes #7320.
This commit is contained in:
@@ -4011,7 +4011,6 @@ int SDL_RenderPresent(SDL_Renderer *renderer)
|
|||||||
SDL_SetRenderScale(renderer, 1.0f, 1.0f);
|
SDL_SetRenderScale(renderer, 1.0f, 1.0f);
|
||||||
SDL_RenderLogicalBorders(renderer);
|
SDL_RenderLogicalBorders(renderer);
|
||||||
SDL_RenderTexture(renderer, renderer->logical_target, &renderer->logical_src_rect, &renderer->logical_dst_rect);
|
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! */
|
FlushRenderCommands(renderer); /* time to send everything to the GPU! */
|
||||||
@@ -4026,6 +4025,10 @@ int SDL_RenderPresent(SDL_Renderer *renderer)
|
|||||||
presented = SDL_FALSE;
|
presented = SDL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (renderer->logical_target) {
|
||||||
|
SDL_SetRenderTargetInternal(renderer, renderer->logical_target);
|
||||||
|
}
|
||||||
|
|
||||||
if (renderer->simulate_vsync ||
|
if (renderer->simulate_vsync ||
|
||||||
(!presented && renderer->wanted_vsync)) {
|
(!presented && renderer->wanted_vsync)) {
|
||||||
SDL_SimulateRenderVSync(renderer);
|
SDL_SimulateRenderVSync(renderer);
|
||||||
|
Reference in New Issue
Block a user