Vulkan: 3 Final bugfixes to enable all dEQP depth_stencil tests

- The scissor when clearing should not be clipped against the viewport.
- The render pass was created with a render area == to the current
viewport, but the viewport can be changed by the tests multiple times
per render pass, so we should always keep the renderArea to the full
framebuffer instead.
- Enables an additional 163 dEQP tests.
- We should clip the scissor to the framebuffer dimensions instead of
the viewport. Its valid to do a cmdClearAttachments outside the
viewport, but not outside the full framebuffer's dimension.

Bug: angleproject:2443

Change-Id: I79168e9f0c782d6dec77470fef938b85ad7a8794
Reviewed-on: https://chromium-review.googlesource.com/998448
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index 930785d..ece646d 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -579,10 +579,11 @@
         attachmentClearValues.emplace_back(contextVk->getClearDepthStencilValue());
     }
 
+    gl::Rectangle renderArea =
+        gl::Rectangle(0, 0, mState.getDimensions().width, mState.getDimensions().height);
     // Hard-code RenderPass to clear the first render target to the current clear value.
     // TODO(jmadill): Proper clear value implementation. http://anglebug.com/2361
-    const gl::State &glState = context->getGLState();
-    (*nodeOut)->storeRenderPassInfo(*framebuffer, glState.getViewport(), attachmentClearValues);
+    (*nodeOut)->storeRenderPassInfo(*framebuffer, renderArea, attachmentClearValues);
 
     return gl::NoError();
 }