Vulkan: enable some vertex data tests.
Enable tests that don't use fixed or unnormalized short/byte vertex data,
with some exceptions for Android and AMD.
BUG=angleproject:2405
Change-Id: I9e37ebca3a873617f11fee065b7a0ba67f80998c
Reviewed-on: https://chromium-review.googlesource.com/1111317
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index 7c70fbb..e319baf 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -88,13 +88,6 @@
const gl::VertexBinding &binding = bindings[attrib.bindingIndex];
ASSERT(attrib.enabled && binding.getBuffer().get() == nullptr);
- // TODO(fjhenigman): Work with more formats than just GL_FLOAT.
- if (attrib.type != GL_FLOAT)
- {
- UNIMPLEMENTED();
- return gl::InternalError();
- }
-
// Only [firstVertex, lastVertex] is needed by the upcoming draw so that
// is all we copy, but we allocate space for [0, lastVertex] so indexing
// will work. If we don't start at zero all the indices will be off.
@@ -349,6 +342,11 @@
VkFormat vkFormat = rendererVk->getFormat(GetVertexFormatID(attrib)).vkBufferFormat;
ASSERT(vkFormat <= std::numeric_limits<uint16_t>::max());
+ if (vkFormat == VK_FORMAT_UNDEFINED)
+ {
+ // TODO(fjhenigman): Add support for vertex data format. anglebug.com/2405
+ UNIMPLEMENTED();
+ }
vk::PackedVertexInputAttributeDesc &attribDesc = mPackedInputAttributes[attribIndex];
attribDesc.format = static_cast<uint16_t>(vkFormat);