Vulkan: enable the rest of dEQP tests in fbo.render.*

Vulkan does not support separate depth and stencil attachments.
Adding this check to checkStatus skips the relevant tests to that.

There was also a bug in FramebufferVk::clear where we were not
checking the number of bits for depth/stencil attachments before
setting the aspects for clearing.

Bug: angleproject:2597
Change-Id: Iabe9f77a51fc7aca08b8faf3cecc3df9f99a7f1e
Reviewed-on: https://chromium-review.googlesource.com/1107847
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Framebuffer.cpp b/src/libANGLE/Framebuffer.cpp
index 3e5859d..9bd2d02 100644
--- a/src/libANGLE/Framebuffer.cpp
+++ b/src/libANGLE/Framebuffer.cpp
@@ -516,6 +516,14 @@
     return !hasMismatchedSize(mStencilAttachment);
 }
 
+bool FramebufferState::hasSeparateDepthAndStencilAttachments() const
+{
+    // if we have both a depth and stencil buffer, they must refer to the same object
+    // since we only support packed_depth_stencil and not separate depth and stencil
+    return (getDepthAttachment() != nullptr && getStencilAttachment() != nullptr &&
+            getDepthStencilAttachment() == nullptr);
+}
+
 const FramebufferAttachment *FramebufferState::getDrawBuffer(size_t drawBufferIdx) const
 {
     ASSERT(drawBufferIdx < mDrawBufferStates.size());