Commit f57b00f1 by Tim Van Patten Committed by Commit Bot

Vulkan: Don't modify mReadOnlyDepthStencilMode in syncState()

We're currently looking for any deferred clears before disabling read-only depth/stencil mode in FramebufferVk::syncState(). This CL removes that checking, since read-only D/S mode is configured at the start of a render pass, so it doesn't need to be updated again as part of changing framebuffers. Bug: b/168953278 Test: CQ Change-Id: I386114640f2b763c964d5ef0c18b1d31449a6f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435497Reviewed-by: 's avatarCharlie Lao <cclao@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
parent 43a3519d
...@@ -1637,7 +1637,6 @@ angle::Result FramebufferVk::syncState(const gl::Context *context, ...@@ -1637,7 +1637,6 @@ angle::Result FramebufferVk::syncState(const gl::Context *context,
ContextVk *contextVk = vk::GetImpl(context); ContextVk *contextVk = vk::GetImpl(context);
vk::FramebufferDesc priorFramebufferDesc = mCurrentFramebufferDesc; vk::FramebufferDesc priorFramebufferDesc = mCurrentFramebufferDesc;
bool priorReadOnlyDepthStencilMode = mReadOnlyDepthStencilMode;
// Only defer clears for whole draw framebuffer ops. If the scissor test is on and the scissor // Only defer clears for whole draw framebuffer ops. If the scissor test is on and the scissor
// rect doesn't match the draw rect, forget it. // rect doesn't match the draw rect, forget it.
...@@ -1729,15 +1728,8 @@ angle::Result FramebufferVk::syncState(const gl::Context *context, ...@@ -1729,15 +1728,8 @@ angle::Result FramebufferVk::syncState(const gl::Context *context,
ANGLE_TRY(flushDeferredClears(contextVk, rotatedScissoredRenderArea)); ANGLE_TRY(flushDeferredClears(contextVk, rotatedScissoredRenderArea));
} }
// We cannot use read-only depth mode for clears.
if (mDeferredClears.any())
{
mReadOnlyDepthStencilMode = false;
}
// No-op redundant changes to prevent closing the RenderPass. // No-op redundant changes to prevent closing the RenderPass.
if (mCurrentFramebufferDesc == priorFramebufferDesc && if (mCurrentFramebufferDesc == priorFramebufferDesc)
mReadOnlyDepthStencilMode == priorReadOnlyDepthStencilMode)
{ {
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