Vulkan: Line loops for indexed draw calls
Bug: angleproject:2335
Change-Id: Iabd6ae8181c6d3fb487f953a6fbf699db568a1c9
Reviewed-on: https://chromium-review.googlesource.com/941261
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index 3aff8c0..38629c5 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -165,6 +165,7 @@
void VertexArrayVk::updateDrawDependencies(vk::CommandGraphNode *readNode,
const gl::AttributesMask &activeAttribsMask,
+ ResourceVk *elementArrayBufferOverride,
Serial serial,
DrawType drawType)
{
@@ -178,8 +179,15 @@
// Handle the bound element array buffer.
if (drawType == DrawType::Elements)
{
- ASSERT(mCurrentElementArrayBufferResource);
- mCurrentElementArrayBufferResource->onReadResource(readNode, serial);
+ if (elementArrayBufferOverride != nullptr)
+ {
+ elementArrayBufferOverride->onReadResource(readNode, serial);
+ }
+ else
+ {
+ ASSERT(mCurrentElementArrayBufferResource);
+ mCurrentElementArrayBufferResource->onReadResource(readNode, serial);
+ }
}
}