From 8188c415a9a79f70727a34d260e6639f42ea9428 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Samuel=20Iglesias=20Gons=C3=A1lvez?= Date: Tue, 28 Sep 2021 14:32:25 +0200 Subject: [PATCH] Fix dEQP-VK.image.mutable.*srgb* validation errors MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The tests were not checking that the image format was supported before creating the image. Components: Vulkan VK-GL-CTS issue: 3143 Affected tests: dEQP-VK.image.mutable.* Change-Id: Ia42ccc815456ac09c4ffd44c63a0c65db8a9f1ec Signed-off-by: Samuel Iglesias Gonsálvez --- .../vulkancts/modules/vulkan/image/vktImageMutableTests.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp index 6593c74..917165e 100644 --- a/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp +++ b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp @@ -1056,6 +1056,18 @@ void UploadDownloadExecutor::run(Context& context, VkBuffer buffer) const VkImageUsageFlags imageUsage = getImageUsageForTestCase(m_caseDef); const VkImageCreateFlags imageFlags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | (m_haveMaintenance2 ? VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR : 0); + VkImageFormatProperties properties; + if ((context.getInstanceInterface().getPhysicalDeviceImageFormatProperties(context.getPhysicalDevice(), + m_caseDef.imageFormat, + getImageType(m_caseDef.imageType), + VK_IMAGE_TILING_OPTIMAL, + imageUsage, + imageFlags, + &properties) == VK_ERROR_FORMAT_NOT_SUPPORTED)) + { + TCU_THROW(NotSupportedError, "Format not supported"); + } + m_imageHolder = makeImage(m_vk, m_device, imageFlags, getImageType(m_caseDef.imageType), m_caseDef.imageFormat, m_caseDef.viewFormat, m_caseDef.isFormatListTest, m_caseDef.size, 1u, m_caseDef.numLayers, imageUsage); m_image = *m_imageHolder; -- 2.7.4