Vulkan: Enable some more fbo.render dEQP tests
Sometime we have a clear call with clearDepth+clearStencil but no
attachment to clear. This was triggering the assert instead of
just skipping the clear.
Bug: angleproject:2597
Change-Id: I2d7750db919afe47cf02155f7c4afd0b02318bb1
Reviewed-on: https://chromium-review.googlesource.com/1106039
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index a387961..83bace0 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -176,9 +176,6 @@
const VkClearDepthStencilValue &clearDepthStencilValue =
contextVk->getClearDepthStencilValue().depthStencil;
- // We only support packed depth/stencil, not separate.
- ASSERT(!(clearDepth && clearStencil) || depthStencilAttachment);
-
const VkImageAspectFlags aspectFlags =
(depthAttachment ? VK_IMAGE_ASPECT_DEPTH_BIT : 0) |
(stencilAttachment ? VK_IMAGE_ASPECT_STENCIL_BIT : 0);
@@ -186,14 +183,13 @@
RenderTargetVk *renderTarget = mRenderTargetCache.getDepthStencil();
vk::ImageHelper *image = renderTarget->getImageForWrite(currentSerial, this);
image->clearDepthStencil(aspectFlags, clearDepthStencilValue, commandBuffer);
-
- if (!clearColor)
- {
- return gl::NoError();
- }
}
- ASSERT(clearColor);
+ if (!clearColor)
+ {
+ return gl::NoError();
+ }
+
const auto *attachment = mState.getFirstNonNullAttachment();
ASSERT(attachment && attachment->isAttached());