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

69 lines
4.3 KiB
Plaintext

vkGetPhysicalDeviceFormatProperties(3)
======================================
Name
----
vkGetPhysicalDeviceFormatProperties - Lists physical device's format capabilities.
C Specification
---------------
include::../protos/vkGetPhysicalDeviceFormatProperties.txt[]
Parameters
----------
pname:physicalDevice::
A handle to the physical device to query.
pname:format::
The format whose properties to query.
pname:pFormatProperties::
A pointer to the structure to receive the result of the query.
Description
-----------
fname:vkGetPhysicalDeviceFormatProperties queries the device specified by pname:physicalDevice
for its support of the format specified in pname:format and places the result in the
structure pointed to by pname:pFormatProperties. pname:pFormatProperties should point to an
instance of the slink:VkFormatProperties structure, the definition of which is:
include::../structs/VkFormatProperties.txt[]
The pname:linearTilingFeatures, pname:optimalTilingFeatures, and pname:bufferFeatures parameters
are a bitwise combination of one or more of the bits specified in elink:VkFormatFeatureFlagBits,
the definition of which is:
include::../enums/VkFormatFeatureFlagBits.txt[]
The pname:linearTilingFeatures member contains information about format support in linear images. The
pname:optimalTilingFeatures member contains information about format support in opaque tiled images.
The pname:bufferFeatures member contains information about format support in buffer objects.
* If ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT is set then image views of this format may be sampled by shaders. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
* If ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT is set then image views of this format may be used as storage images in shaders. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
* If ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT is set is set then atomic operations may be performed by shaders on image views of this format. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
* If ename:VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT is set then buffer views of this format may be used to store uniform values accessible by shaders. This bit should only appear in pname:bufferFeatures.
* If ename:VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT is set then buffer views of this format may be used to store texel data accessible to shaders. This bit should only appear in pname:bufferFeatures.
* If ename:VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT is set then shaders may perform atomic operations on texel data stored in buffers in this format. This bit should only appear in pname:bufferFeatures.
* If ename:VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT is set then this format may be used as a vertex attribute format. This bit should only appear in pname:bufferFeatures.
* If ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT is set then image views of this format may be used as color attachments. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
* If ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT is set then blending is supported into color attachments of this format. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
* If ename:VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT is set then image views of this format may be used as depth or stencil attachments. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
* If ename:VK_FORMAT_FEATURE_BLIT_SRC_BIT is set then images of this format may be used as the source of a blit operation. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
* If ename:VK_FORMAT_FEATURE_BLIT_DST_BIT is set then images of this format may be used as the destination of a blit operation. This bit should only appear in pname:linearTilingFeatures or pname:optimalTilingFeatures.
If the physical device does not support the specified format then the output slink:VkFormatProperties
structure is filled with zeros.
include::../validity/protos/vkGetPhysicalDeviceFormatProperties.txt[]
See Also
--------
flink:vkGetPhysicalDeviceImageFormatProperties, flink:vkGetPhysicalDeviceFeatures
include::footer.txt[]