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

97 lines
3.9 KiB
Plaintext
Raw Normal View History

2016-02-16 09:53:44 +00:00
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
-----------
Change log for April 15, 2016 Vulkan 1.0.10 spec update: * Bump API patch number and header version number to 10 for this update. Github Issues: * Slightly tweak the <<memory-allocation,Host Memory>> allocator language so that an application wrapping the standard C alloc/free/realloc functions is still correct - the previous language was too strong with regards to freeing memory. Also made certain scenarios clearer - an implementation may now continue without error if an allocation failed and it is able to continue correctly (public issue 21). * Require that etext:VK_*_CREATE_SPARSE_BINDING_BIT is set when the corresponding etext:VK_*_CREATE_SPARSE_RESIDENCY_BIT is used, in the <<sparsememory-miptail,Mip Tail Regions>> section and related commands flink:vkCreateBuffer and flink:vkCreateImage (public issue 84). * Update the <<features,Features, Limits, and Formats>> chapter to clarify interactions between optional features and dynamic state for the pname:depthBiasClamp and pname:wideLines features (public issue 89). * Describe the code:WorkgroupSize builtin in the <<interfaces-builtin-variables,Built-In Variables>> section, and update the <<compute-shaders,Compute Shaders>> section to further clarify how to set the number of workgroups to execute in a compute shader (public issue 145). * Use the term *image subresource* everywhere instead of *subresource*, except for the special case of *host-accessible subresource*, which may be either an image subresource or buffer range (public issue 120) * Add a note to the <<features,Features, Limits, and Formats>> section about extensibility of structures (Public issue 165). * Fix return code flink:vkAcquireNextImageKHR when the timeout parameter is 0 to ename:VK_NOT_READY instead of ename:VK_TIMEOUT (public issue 170). * Fix typo in slink:VkLayerProperties::pname:apiVersion field (public issue 172). Internal Issues: * Fix a few minor internally-detected typos. * Minor formatting tweaks to pseudocode in the <<resources,Resource Creation>> chapter (internal issue 179). * Fix typo in the definition of point sampling for elink:VkCullModeFlagBits (internal issue 268).
2016-04-14 08:58:49 +00:00
fname:vkGetPhysicalDeviceImageFormatProperties queries the physical device specified in pname:physicalDevice
2016-02-16 09:53:44 +00:00
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[]