Vulkan: drawArrays followed by drawElements bugfix
Also add a test in StateChangeTest.cpp to validate the behavior.
Bug: angleproject:2458
Change-Id: I58848772c0b4f71aaa3ee187778e49fa08e6800d
Reviewed-on: https://chromium-review.googlesource.com/1007320
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index 369fcec..d0a44c2 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -464,7 +464,11 @@
updateArrayBufferReadDependencies(drawNode, activeAttribs,
renderer->getCurrentQueueSerial());
}
+
mVertexBuffersDirty = false;
+
+ // This forces the binding to happen if we follow a drawElement call from a drawArrays call.
+ mIndexBufferDirty = true;
}
return gl::NoError();