Spec requires that VK_IMAGE_CREATE_SPARSE_BINDING_BIT
is set if residency or alias bits are set
Components: Vulkan
VK-GL-CTS Issue: 3678
Affects:
dEQP-VK.api.info.image_format_properties.*
Change-Id: Ie8788567ae5189e6303fb7d3eb7e64b1bdd9dbcf
flags |= VK_IMAGE_CREATE_SPARSE_BINDING_BIT|VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT;
if (deviceFeatures.sparseResidencyAliased)
- flags |= VK_IMAGE_CREATE_SPARSE_ALIASED_BIT;
+ flags |= VK_IMAGE_CREATE_SPARSE_BINDING_BIT|VK_IMAGE_CREATE_SPARSE_ALIASED_BIT;
}
return flags;
}
-bool isValidImageCreateFlagCombination (VkImageCreateFlags)
+bool isValidImageCreateFlagCombination (VkImageCreateFlags createFlags)
{
- return true;
+ bool isValid = true;
+
+ if (((createFlags & (VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT|VK_IMAGE_CREATE_SPARSE_ALIASED_BIT)) != 0) &&
+ ((createFlags & VK_IMAGE_CREATE_SPARSE_BINDING_BIT) == 0))
+ {
+ isValid = false;
+ }
+
+ return isValid;
}
bool isRequiredImageParameterCombination (const VkPhysicalDeviceFeatures& deviceFeatures,