Commit 5d7ccc30 by Jamie Madill Committed by Commit Bot

Revert "Vulkan: Fix store ops with linear command recording."

This reverts commit a61e273a. Reason for revert: Causes rendering artifacts in "Aztec Ruins". Bug: angleproject:4444 Original change's description: > Vulkan: Fix store ops with linear command recording. > > DiscardFramebuffer was being ignored in the new linear path. Fix this > by using the correct APIs. Also cleans up some of the access to the > "RenderPassCommandBuffer" struct in ContextVk. Add a new accessor that > returns the RenderPass without a flush that ensures it is only called > when a RenderPass is already started. > > Bug: angleproject:4029 > Change-Id: Ibd199f3a371c0f91b448a0b34c8752dc8b76c284 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057329 > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=tobine@google.com,jmadill@chromium.org,cclao@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:4029 Change-Id: I7d925b88c438a20ebe4a48634568addda7a64d60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2093157Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarTobin Ehlis <tobine@google.com> Reviewed-by: 's avatarCharlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent a8c947c7
...@@ -151,19 +151,7 @@ angle::Result FramebufferVk::invalidate(const gl::Context *context, ...@@ -151,19 +151,7 @@ angle::Result FramebufferVk::invalidate(const gl::Context *context,
size_t count, size_t count,
const GLenum *attachments) const GLenum *attachments)
{ {
ContextVk *contextVk = vk::GetImpl(context); // TODO(jmadill): Re-enable. See http://anglebug.com/4444
if (mFramebuffer != nullptr)
{
ASSERT(mFramebuffer->valid());
mFramebuffer->retain(&contextVk->getResourceUseList());
if (contextVk->hasStartedRenderPass())
{
ANGLE_TRY(invalidateImpl(contextVk, count, attachments));
}
}
return angle::Result::Continue; return angle::Result::Continue;
} }
...@@ -172,22 +160,7 @@ angle::Result FramebufferVk::invalidateSub(const gl::Context *context, ...@@ -172,22 +160,7 @@ angle::Result FramebufferVk::invalidateSub(const gl::Context *context,
const GLenum *attachments, const GLenum *attachments,
const gl::Rectangle &area) const gl::Rectangle &area)
{ {
ContextVk *contextVk = vk::GetImpl(context); // TODO(jmadill): Re-enable. See http://anglebug.com/4444
// RenderPass' storeOp cannot be made conditional to a specific region, so we only apply this
// hint if the requested area encompasses the render area.
if (mFramebuffer != nullptr)
{
ASSERT(mFramebuffer->valid());
mFramebuffer->retain(&contextVk->getResourceUseList());
if (contextVk->hasStartedRenderPass() &&
area.encloses(contextVk->getStartedRenderPassCommands().getRenderArea()))
{
ANGLE_TRY(invalidateImpl(contextVk, count, attachments));
}
}
return angle::Result::Continue; return angle::Result::Continue;
} }
......
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