Commit 1ea22c31 by Ian Elliott Committed by Commit Bot

Vulkan: Fix TRex performance regression

TRex invalidates depth but doesn't disable depth before the render pass ends. The render pass isn't ended, but a storeOp of STORE was used instead of DONT_CARE, which causes a performance regression. Bug: b/163854287 Change-Id: Iebd9999ef66c11ff334db3eef2943f58eb2d5053 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377105Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarCharlie Lao <cclao@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
parent 143193d5
......@@ -865,12 +865,12 @@ void CommandBufferHelper::endRenderPass(ContextVk *contextVk)
PackedAttachmentOpsDesc &dsOps = mAttachmentOps[mDepthStencilAttachmentIndex];
// Address invalidated depth/stencil attachments
if (mDepthInvalidatedState == Invalidated && !mDepthEnabled)
if (mDepthInvalidatedState == Invalidated)
{
// The depth attachment is invalid, so don't store it
dsOps.storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
}
if (mStencilInvalidatedState == Invalidated && !mStencilEnabled)
if (mStencilInvalidatedState == Invalidated)
{
// The stencil attachment is invalid, so don't store it
dsOps.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
......
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