diff --git a/src/render/metal/SDL_render_metal.m b/src/render/metal/SDL_render_metal.m index b17bb4548..fdd0438aa 100644 --- a/src/render/metal/SDL_render_metal.m +++ b/src/render/metal/SDL_render_metal.m @@ -1227,7 +1227,13 @@ SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, const SDL_Met /* Set Scissor Rect Validation: w/h must be <= render pass */ SDL_zero(output); - METAL_GetOutputSize(renderer, &output.w, &output.h); + + if (renderer->target) { + output.w = renderer->target->w; + output.h = renderer->target->h; + } else { + METAL_GetOutputSize(renderer, &output.w, &output.h); + } if (SDL_IntersectRect(&output, &clip, &clip)) { MTLScissorRect mtlrect;