فهرست منبع

render: Make sure logical_target is bound when presenting.

Fixes black screen on macOS.

Fixes #7320.
Ryan C. Gordon 2 سال پیش
والد
کامیت
d898dbfe50
1فایلهای تغییر یافته به همراه4 افزوده شده و 1 حذف شده
  1. 4 1
      src/render/SDL_render.c

+ 4 - 1
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);