Vulkan-Docs/doc/specs/vulkan/man/VkImageFormatProperties.txt

93 lines
3.3 KiB
Plaintext

// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
VkImageFormatProperties(3)
==========================
Name
----
VkImageFormatProperties - Structure specifying a image format properties
C Specification
---------------
// refBegin VkImageFormatProperties - Structure specifying a image format properties
The sname:VkImageFormatProperties structure is defined as:
include::../api/structs/VkImageFormatProperties.txt[]
Members
-------
* pname:maxExtent are the maximum image dimensions. See the
<<features-extentperimagetype,Allowed Extent Values>> section below for
how these values are constrained by pname:type.
* pname:maxMipLevels is the maximum number of mipmap levels.
pname:maxMipLevels must: either be equal to 1 (valid only if
pname:tiling is ename:VK_IMAGE_TILING_LINEAR) or be
equal to
latexmath:[$\left\lceil\log_2(\max(
\mathit{width},\mathit{height},\mathit{depth}))
\right\rceil + 1$]
where latexmath:[$\mathit{width}$], latexmath:[$\mathit{height}$], and
latexmath:[$\mathit{depth}$] are taken from the corresponding members of
pname:maxExtent.
* pname:maxArrayLayers is the maximum number of array layers.
pname:maxArrayLayers must: either be equal to 1 or be greater than or
equal to the pname:maxImageArrayLayers member of
slink:VkPhysicalDeviceLimits. A value of 1 is valid only if pname:tiling
is ename:VK_IMAGE_TILING_LINEAR or if pname:type is
ename:VK_IMAGE_TYPE_3D.
* pname:sampleCounts is a bitmask of elink:VkSampleCountFlagBits
specifying all the supported sample counts for this image as described
<<features-supported-sample-counts, below>>.
* pname:maxResourceSize is 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. pname:maxResourceSize must: be at least 2^31^.
Description
-----------
[NOTE]
.Note
====
There is no mechanism to query the size of an image before creating it, to
compare that size against pname:maxResourceSize. If an application attempts
to create an image that exceeds this limit, the creation will fail or the
image will be invalid. While the advertised limit must: be at least 2^31^,
it may: not be possible to create an image that approaches that size,
particularly for ename:VK_IMAGE_TYPE_1D.
====
If the combination of parameters to
fname:vkGetPhysicalDeviceImageFormatProperties is not supported by the
implementation for use in flink:vkCreateImage, then all members of
sname:VkImageFormatProperties will be filled with zero.
include::../validity/structs/VkImageFormatProperties.txt[]
See Also
--------
basetype:VkDeviceSize, slink:VkExtent3D, elink:VkSampleCountFlags, flink:vkGetPhysicalDeviceImageFormatProperties
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkImageFormatProperties
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
include::footer.txt[]