Vulkan: use correct vertex stride.
It was passing the attribute size, not the stride, so it worked only
when they were the same.
Enable corresponding tests.
BUG=angleproject:2310
Change-Id: Ie3ab13567c16c302aa9aeda5d059e5fd4eb92b4e
Reviewed-on: https://chromium-review.googlesource.com/875304
Commit-Queue: Frank Henigman <fjhenigman@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 89d83a9..3aff8c0 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -225,7 +225,7 @@
size_t attribSize = gl::ComputeVertexAttributeTypeSize(attrib);
ASSERT(attribSize <= std::numeric_limits<uint16_t>::max());
- bindingDesc.stride = static_cast<uint16_t>(attribSize);
+ bindingDesc.stride = static_cast<uint16_t>(binding.getStride());
bindingDesc.inputRate = static_cast<uint16_t>(
binding.getDivisor() > 0 ? VK_VERTEX_INPUT_RATE_INSTANCE : VK_VERTEX_INPUT_RATE_VERTEX);