RenderBase: Ensure the draw size does not exceed the window size

This was happening when crop was enabled, causing blank outputs for some
Vulkan drivers (namely radv), as the draw rectangle is used as the
viewport.
This commit is contained in:
Stenzek 2018-05-08 23:19:38 +10:00
parent 90f869e940
commit fd5aaa096c
1 changed files with 4 additions and 0 deletions

View File

@ -539,6 +539,10 @@ void Renderer::UpdateDrawRectangle()
crop_width = win_width;
}
// Clamp the draw width/height to the screen size, to ensure we don't render off-screen.
draw_width = std::min(draw_width, win_width);
draw_height = std::min(draw_height, win_height);
// ensure divisibility by 4 to make it compatible with all the video encoders
draw_width = std::ceil(draw_width) - static_cast<int>(std::ceil(draw_width)) % 4;
draw_height = std::ceil(draw_height) - static_cast<int>(std::ceil(draw_height)) % 4;