Add a check that drmFormatModifierTilingFeatures has at least one bit set
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Tue, 22 Feb 2022 11:20:26 +0000 (12:20 +0100)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 3 Mar 2022 23:04:55 +0000 (23:04 +0000)
Components: Vulkan
VK-GL-CTS issue: 3532

Affected tests:

   dEQP-VK.drm_format_modifiers.*

Change-Id: I7084208ffc5777b5d2bd5e16fe8e2bfb7df1adfa
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp

index 4d6bcd2..e52911d 100644 (file)
@@ -165,6 +165,9 @@ std::vector<deUint64> getExportImportCompatibleModifiers (Context& context, VkFo
 
        for (const auto& modifierProps : drmFormatModifiers)
        {
+               if (modifierProps.drmFormatModifierTilingFeatures == 0)
+                       TCU_FAIL(de::toString(format) + " does not support any DRM modifier tiling features");
+
                if ((modifierProps.drmFormatModifierTilingFeatures & testFeatures) != testFeatures)
                        continue;
 
@@ -276,6 +279,9 @@ tcu::TestStatus listModifiersCase (Context& context, VkFormat format)
                                                                                                                                                                                          (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT),
                                                                                                                                                                                          drmFormatModifiers[m].drmFormatModifier, imageProperties);
 
+               if (drmFormatModifiers[m].drmFormatModifierTilingFeatures == 0)
+                       TCU_FAIL(de::toString(format) + " does not support any DRM modifier tiling features");
+
                if (!isCompatible)
                        continue;
                noneCompatible = false;
@@ -405,6 +411,8 @@ tcu::TestStatus createImageListModifiersCase (Context& context, const VkFormat f
                                                                                                                                                                                                  modProps.drmFormatModifier, imgFormatProperties);
                if (isCompatible)
                        modifiers.push_back(modProps.drmFormatModifier);
+               if (modProps.drmFormatModifierTilingFeatures == 0)
+                       TCU_FAIL(de::toString(format) + " does not support any DRM modifier tiling features");
        }
 
        if (modifiers.empty())