Class VkImageFormatProperties

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkImageFormatProperties
    extends Struct
    implements NativeResource
    Structure specifying an image format properties.

    There is no mechanism to query the size of an image before creating it, to compare that size against maxResourceSize. If an application attempts to create an image that exceeds this limit, the creation will fail and CreateImage will return ERROR_OUT_OF_DEVICE_MEMORY. While the advertised limit must be at least 231, it may not be possible to create an image that approaches that size, particularly for IMAGE_TYPE_1D.

    If the combination of parameters to GetPhysicalDeviceImageFormatProperties is not supported by the implementation for use in CreateImage, then all members of VkImageFormatProperties will be filled with zero.


    Filling VkImageFormatProperties with zero for unsupported formats is an exception to the usual rule that output structures have undefined contents on error. This exception was unintentional, but is preserved for backwards compatibility.

    See Also

    VkExtent3D, VkExternalImageFormatPropertiesNV, VkImageFormatProperties2, GetPhysicalDeviceImageFormatProperties

    Member documentation

    • maxExtent – are the maximum image dimensions. See the Allowed Extent Values section below for how these values are constrained by type.
    • maxMipLevels – the maximum number of mipmap levels. maxMipLevels must be equal to the number of levels in the complete mipmap chain based on the maxExtent.width, maxExtent.height, and maxExtent.depth, except when one of the following conditions is true, in which case it may instead be 1:
    • maxArrayLayers – the maximum number of array layers.
    • sampleCounts – a bitmask of VkSampleCountFlagBits specifying all the supported sample counts for this image as described below.
    • maxResourceSize – an upper bound on the total image size in bytes, inclusive of all image subresources. Implementations may have an address space limit on total size of a resource, which is advertised by this property. maxResourceSize must be at least 231.


     struct VkImageFormatProperties {
         VkExtent3D maxExtent;
         uint32_t maxMipLevels;
         uint32_t maxArrayLayers;
         VkSampleCountFlags sampleCounts;
         VkDeviceSize maxResourceSize;