Vulkan: Fix all depth/stencil related failures due to Y flip
- Fixes all deqp functional_fragment_ops_depth_stencil_* with Y flipping enabled.
Bug: angleproject:2673
Change-Id: I94a4225dec8adf9113309e8b8b2c8aa61f6a2bb9
Reviewed-on: https://chromium-review.googlesource.com/1129857
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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 e7d9931..85ef146 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -922,6 +922,7 @@
ANGLE_TRY(getCommandBufferForDraw(contextVk, &drawCommands, &recordingMode));
const gl::Rectangle &renderArea = getRenderPassRenderArea();
+ bool invertViewport = contextVk->isViewportFlipEnabledForDrawFBO();
// This pipeline desc could be cached.
vk::PipelineDesc pipelineDesc;
@@ -929,8 +930,6 @@
pipelineDesc.updateColorWriteMask(colorMaskFlags, getEmulatedAlphaAttachmentMask());
pipelineDesc.updateRenderPassDesc(getRenderPassDesc());
pipelineDesc.updateShaders(fullScreenQuad->queueSerial(), pushConstantColor->queueSerial());
- bool invertViewport = contextVk->isViewportFlipEnabledForDrawFBO();
-
pipelineDesc.updateViewport(this, renderArea, 0.0f, 1.0f, invertViewport);
const gl::State &glState = contextVk->getGLState();