Vulkan-Docs/doc/specs/vulkan/man/vkGetPhysicalDeviceImageFor...

97 lines
3.9 KiB
Plaintext

vkGetPhysicalDeviceImageFormatProperties(3)
===========================================
Name
----
vkGetPhysicalDeviceImageFormatProperties - Lists physical device's image format capabilities.
C Specification
---------------
include::../protos/vkGetPhysicalDeviceImageFormatProperties.txt[]
Parameters
----------
pname:physicalDevice::
A handle to the physical device upon which to perform the query.
pname:format::
The format of the image.
pname:type::
The type of the image.
pname:tiling::
The tiling mode of the image.
pname:usage::
The usage of the image.
pname:flags::
Additional flags describing the image.
pname:pImageFormatProperties::
A pointer to a structure in which the requested information is returned.
Description
-----------
fname:vkGetPhysicalDeviceImageFormatProperties queries the physical device specified in pnane:physicalDevice
about its support for images as if they had been created using the remaining parameters to the command.
These parameters, pname:format, pname:type, pname:tiling and pname:usage have the same meanings as they do
in the slink:VkImageCreateInfo structure, the definition of which is:
include::../structs/VkImageCreateInfo.txt[]
In this call, pname:format specifies the format of the image and must be a member of the elink:VkFormat enumeration.
pname:type specifies the type of image for which the format will be used. This is a member of the elink:VkImageType
enumeration, the definition of which is:
include::../enums/VkImageType.txt[]
The pname:tiling parameter specifies the tiling layout for the image and must be one of ename:VK_IMAGE_TILING_LINEAR
or ename:VK_IMAGE_TILING_OPTIMAL. The pname:usage parameter specifies the intended usage for the image and
should be a bitwise combination of one or more members of the elink:VkImageUsageFlagBits enumeration, the
definition of which is:
include::../enums/VkImageUsageFlagBits.txt[]
If the image format is supported for the specified combination of the pname:format, pname:type, pname:tiling,
pname:usage, and pname:flags parameters, then fname:vkGetPhysicalDeviceImageFormatProperties
places information about how such an image may be used in the instance of the slink:VkImageFormatProperties
structure pointed to by pname:pImageFormatProperties. The definition of slink:VkImageFormatProperties is:
include::../structs/VkImageFormatProperties.txt[]
The pname:maxExtent member of the output structure contains the maximum dimensions of an image in the specified
format. The pname:maxMipLevels and pname:maxArrayLayers contain the maximum number of mipmap levels and
maximum number of layers in array forms of images, respectively. If array images are not supported for
the specified format, then pname:maxArrayLayers will be zero. If multisampling is supported for the specified
format, then pname:sampleCounts contains a bitwise combination of the supported sample counts using
members of the elink:VkSampleCountFlagBits enumeration, the definition of which is:
include::../enums/VkSampleCountFlagBits.txt[]
Additional sample counts not listed in the elink:VkSampleCountFlagBits enumeration are reserved and their
presence should not be used to imply higher sample counts than listed.
If multisampling is not supported for the specified format, then pname:sampleCounts will contain zero.
The pname:maxResourceSize member contains the maximum size in memory of any resource in this format. Note
that it may not be possible to create a resource of the maximum supported extent and array layer count
in every dimension that still fits within the maxium in-memory resource size.
If the format is not supported in the specified configuration, then
fname:vkGetPhysicalDeviceImageFormatProperties fills the slink:VkImageFormatProperties structure
pointed to by pname:pImageFormatProperties with zeros.
include::../validity/protos/vkGetPhysicalDeviceImageFormatProperties.txt[]
See Also
--------
flink:vkGetPhysicalDeviceProperties, flink:vkGetPhysicalDeviceFeatures
include::footer.txt[]