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);