Vulkan: Implement depth/stencil blit with flip of the viewport
- This makes all end2end tests pass successfully on Win/Nvidia
with viewport flipping enabled.
Bug: angleproject:2673
Change-Id: I031c0a0f5fb0aede58b59479e57c2c127bcb964c
Reviewed-on: https://chromium-review.googlesource.com/1133703
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/RendererVk.cpp b/src/libANGLE/renderer/vulkan/RendererVk.cpp
index 727d68e..46f56b2 100644
--- a/src/libANGLE/renderer/vulkan/RendererVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RendererVk.cpp
@@ -701,8 +701,8 @@
{
if (!mCommandGraph.empty())
{
- vk::CommandBuffer commandBatch;
- ANGLE_TRY(flushCommandGraph(context, &commandBatch));
+ vk::Scoped<vk::CommandBuffer> commandBatch(mDevice);
+ ANGLE_TRY(flushCommandGraph(context, &commandBatch.get()));
VkSubmitInfo submitInfo;
submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
@@ -711,11 +711,11 @@
submitInfo.pWaitSemaphores = nullptr;
submitInfo.pWaitDstStageMask = nullptr;
submitInfo.commandBufferCount = 1;
- submitInfo.pCommandBuffers = commandBatch.ptr();
+ submitInfo.pCommandBuffers = commandBatch.get().ptr();
submitInfo.signalSemaphoreCount = 0;
submitInfo.pSignalSemaphores = nullptr;
- ANGLE_TRY(submitFrame(submitInfo, std::move(commandBatch)));
+ ANGLE_TRY(submitFrame(submitInfo, std::move(commandBatch.get())));
}
ASSERT(mQueue != VK_NULL_HANDLE);