From ed535487318a6c3932280ed705412867b1808ca8 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 13 Dec 2019 11:07:32 +0000 Subject: [PATCH] Check for optional vertex buffer format support in vulkan vertex zoo --- util/test/demos/vk/vk_vertex_attr_zoo.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/util/test/demos/vk/vk_vertex_attr_zoo.cpp b/util/test/demos/vk/vk_vertex_attr_zoo.cpp index 7d81695c4..c5dd3063a 100644 --- a/util/test/demos/vk/vk_vertex_attr_zoo.cpp +++ b/util/test/demos/vk/vk_vertex_attr_zoo.cpp @@ -279,6 +279,23 @@ void main() if(physProperties.limits.maxVertexOutputComponents < 128) Avail = "Not enough vertex output components to run test"; + + VkFormatProperties props = {}; + vkGetPhysicalDeviceFormatProperties(phys, VK_FORMAT_R64G64_SFLOAT, &props); + + if((props.bufferFeatures & VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT) == 0) + { + Avail = "VK_FORMAT_R64G64_SFLOAT not supported in vertex buffers"; + return; + } + + vkGetPhysicalDeviceFormatProperties(phys, VK_FORMAT_R16G16B16A16_USCALED, &props); + + if((props.bufferFeatures & VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT) == 0) + { + Avail = "VK_FORMAT_R16G16B16A16_USCALED not supported in vertex buffers"; + return; + } } int main() @@ -403,4 +420,4 @@ void main() } }; -REGISTER_TEST(); \ No newline at end of file +REGISTER_TEST();