return (sparseImageFormatPropVec.size() != 0);
}
-deUint32 getYCbCrFormatElementSize (VkFormat format)
-{
- const PlanarFormatDescription desc = getYCbCrPlanarFormatDescription(format);
- deInt32 totalSize = 0;
-
- for (deUint32 planeNdx = 0; planeNdx < desc.numPlanes; ++planeNdx)
- {
- const deInt32 elementSize = desc.planes[planeNdx].elementSizeBytes;
-
- totalSize = deAlign32(totalSize, elementSize);
- totalSize += elementSize;
- }
- return totalSize;
-}
-
} // vk
tcu::TextureFormat format,
vk::VkImage destImage);
-/*--------------------------------------------------------------------*//*!
- * Returns the element size of the given YCbCr format.
- *//*--------------------------------------------------------------------*/
-deUint32 getYCbCrFormatElementSize (VkFormat format);
-
} // vk
#endif // _VKIMAGEUTIL_HPP
return flags;
}
-bool isValidImageCreateFlagCombination (VkImageCreateFlags createFlags)
+bool isValidImageCreateFlagCombination (VkImageCreateFlags)
{
- // If create flags contains VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT or VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, it must also contain VK_IMAGE_CREATE_SPARSE_BINDING_BIT
- if ((createFlags & (VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT | VK_IMAGE_CREATE_SPARSE_ALIASED_BIT)) != 0 && (createFlags & VK_IMAGE_CREATE_SPARSE_BINDING_BIT) == 0)
- return false;
-
return true;
}
DE_ASSERT(deviceFeatures.sparseBinding || (createFlags & (VK_IMAGE_CREATE_SPARSE_BINDING_BIT|VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)) == 0);
DE_ASSERT(deviceFeatures.sparseResidencyAliased || (createFlags & VK_IMAGE_CREATE_SPARSE_ALIASED_BIT) == 0);
+ if (isYCbCrFormat(format) && (createFlags & (VK_IMAGE_CREATE_SPARSE_BINDING_BIT | VK_IMAGE_CREATE_SPARSE_ALIASED_BIT | VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)))
+ return false;
+
if (createFlags & VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)
{
if (isCompressedFormat(format))
if (isDepthStencilFormat(format))
return false;
- deUint32 elementSize;
-
- if (isYCbCrFormat(format))
- elementSize = getYCbCrFormatElementSize(format);
- else
- elementSize = mapVkFormat(format).getPixelSize();
-
- if (!deIsPowerOfTwo32(elementSize))
+ if (!deIsPowerOfTwo32(mapVkFormat(format).getPixelSize()))
return false;
switch (imageType)