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[]
|