Commit bcec11c2 by Ian Elliott Committed by Commit Bot

Vulkan: FramebufferVk::clearImpl() break-RP fix

FramebufferVk::clearImpl() needs to potentially rotate the results of getCompleteRenderArea(), so that it can be compared with the results of getScissoredRenderArea(). Bug: b/151111296 Change-Id: Iad1fbdcb1943bae00835d31863d32ee85dbc7c2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2303606Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: 's avatarTim Van Patten <timvp@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
parent 5f531342
......@@ -318,7 +318,14 @@ angle::Result FramebufferVk::clearImpl(const gl::Context *context,
// The front-end should ensure we don't attempt to clear stencil if all bits are masked.
ASSERT(!clearStencil || stencilMask != 0);
bool scissoredClear = scissoredRenderArea != getCompleteRenderArea();
gl::Rectangle completeRenderArea = getCompleteRenderArea();
if (contextVk->isRotatedAspectRatioForDrawFBO())
{
// The surface is rotated 90/270 degrees. This changes the aspect ratio of the surface.
std::swap(completeRenderArea.x, completeRenderArea.y);
std::swap(completeRenderArea.width, completeRenderArea.height);
}
bool scissoredClear = scissoredRenderArea != completeRenderArea;
// Special case for rendering feedback loops: clears are always valid in GL since they don't
// sample from any textures.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment