Vulkan: Line loop edge case with ubyte indices

Bug: angleproject:2637
Change-Id: I2cec129ed1aa0e55e0dbf1d353caa65a51c528a3
Reviewed-on: https://chromium-review.googlesource.com/1096017
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index ce991d0..4a72c89 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -417,8 +417,8 @@
         if (!elementArrayBuffer)
         {
             ANGLE_TRY(mLineLoopHelper.getIndexBufferForClientElementArray(
-                renderer, drawCallParams.indices(), indexType, drawCallParams.indexCount(),
-                &mCurrentElementArrayBufferHandle, &mCurrentElementArrayBufferOffset));
+                renderer, drawCallParams, &mCurrentElementArrayBufferHandle,
+                &mCurrentElementArrayBufferOffset));
         }
         else
         {
@@ -505,9 +505,10 @@
     }
     else if (mIndexBufferDirty || newCommandBuffer)
     {
-        if (drawCallParams.type() == GL_UNSIGNED_BYTE)
+        if (drawCallParams.type() == GL_UNSIGNED_BYTE &&
+            drawCallParams.mode() != gl::PrimitiveMode::LineLoop)
         {
-            // TODO(fjhenigman): Index format translation.
+            // TODO(fjhenigman): Index format translation for non line-loop calls.
             UNIMPLEMENTED();
             return gl::InternalError()
                    << "Unsigned byte translation is not implemented for indices in a buffer object";