mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-23 03:28:19 +00:00
* Bump API patch number and header version number to 12 for this update. Github Issues: * Change valid usage statements intended to be "sub-points" to be actual sub-points (public issue 66). * Replace double negation in description of slink:VkRenderPassBeginInfo::pname:pClearValues (based on public merge 142). * Cleanup minor typos in spec, ref pages and XML, including those proposed in public pull requests 144, 150, 151, 167, 168, 181, and 186. * Use *strict subset* in describing the partial order of memory property types for slink:VkMemoryType, and update the style guide accordingly (public issue 190). * Fix various "a image" -> "an image" typos (public issue 191). * Note in the <<fundamentals-validusage,Valid Usage>> and <<extensions-interactions,Extension Interactions>> sections that structures defined by extensions which may be passed in structure chains using the ptext:pNext member must: include initial ptext:sType and ptext:pNext members (public issue 192). Internal Issues: * Remove duplicate language from the description of the pname:fence parameter to flink:vkQueueSubmit and improve validity language (internal issue 91). * Added documentation for "optional" attribute to XML readme.tex/pdf (internal issue 149). * Clarify the host-side data validity rules and behavior of flink:vkFlushMappedMemoryRanges and flink:vkInvalidateMappedMemoryRanges (internal issue 266). Other Commits: * Added clarification to flink:vkCmdFillBuffer regarding the use of ename:VK_WHOLE_SIZE. * Fixed and documented implementation of "validextensionstructs" attribute. in XML processing scripts and readme.tex/pdf. * Add missing validity statements to flink:vkResetEvent and flink:vkCmdResetEvent. * Fix validity for the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag. Correct all the draw/dispatch commands to mention optimally tiled images as well as linear tiled images, and say image VIEWS instead of images. Add validity statement to flink:vkCmdBlitImage * Replace the {apiname} macro with hardcoded "Vulkan", now that we've committed to that name. * Add the VK_AMD_rasterization_order extension to vk.xml.
80 lines
3.4 KiB
Plaintext
80 lines
3.4 KiB
Plaintext
vkGetImageSubresourceLayout(3)
|
|
===============================
|
|
|
|
Name
|
|
----
|
|
vkGetImageSubresourceLayout - Retrieve information about an image subresource.
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
include::../protos/vkGetImageSubresourceLayout.txt[]
|
|
|
|
Parameters
|
|
----------
|
|
|
|
pname:device::
|
|
A handle to the device that owns the image.
|
|
|
|
pname:image::
|
|
A handle to the image about which to retrieve information.
|
|
|
|
pname:pSubresource::
|
|
A pointer to a structure describing the image subresource.
|
|
|
|
pname:pLayout::
|
|
A pointer to a structure that will receive information about the image
|
|
subresource.
|
|
|
|
Description
|
|
-----------
|
|
|
|
fname:vkGetImageSubresourceLayout returns information about the memory
|
|
layout of an image subresource of an image. pname:device is a handle to the
|
|
device that owns pname:image, which is the image about which to retrieve
|
|
information. A description of the image subresource is passsed to the
|
|
command through an instance of the slink:VkImageSubresource structure, the
|
|
address of which is passed in pname:pSubresource. The definition of
|
|
slink:VkImageSubresource is:
|
|
|
|
include::../structs/VkImageSubresource.txt[]
|
|
|
|
Within the pname:pSubresource structure, pname:aspectMask is a bitfield describing the aspect of the image and
|
|
is made up of a single member of the elink:VkImageAspectFlagBits enumeration, the definition of which is:
|
|
|
|
include::../enums/VkImageAspectFlagBits.txt[]
|
|
|
|
The ename:VK_IMAGE_ASPECT_COLOR_BIT aspect is valid only for image formats that are usable as color. The
|
|
ename:VK_IMAGE_ASPECT_DEPTH_BIT aspect is valid for formats containing depth information and the
|
|
ename:VK_IMAGE_ASPECT_STENCIL_BIT aspect is valid only for formats containing stencil information. Note
|
|
that some formats contain both depth and stencil information, and
|
|
in this case, pname:aspectMask is used to select which to query. It is not legal to include more than
|
|
one member of elink:VkImageAspectFlagBits in pname:aspectMask. Some formats also include metadata
|
|
which may be implementation dependent but is queryable by specifying ename:VK_IMAGE_ASPECT_METADATA_BIT.
|
|
|
|
For resources that have mipmaps or are multiple array layers, the pname:mipLevel and pname:arrayLayer members describe
|
|
the mipmap level and array layer, respectively. For resources that do not have mipmaps or are not layered,
|
|
pname:mipLevel and pname:arrayLayer, respectively, should be set to zero.
|
|
|
|
Information about the selected sub-resource is returned to the caller in the instance of the slink:VkSubresourceLayout
|
|
structure pointed to by pname:pLayout. The definition of slink:VkSubresourceLayout is:
|
|
|
|
include::../structs/VkSubresourceLayout.txt[]
|
|
|
|
The pname:offset member of the pname:pLayout structure is filled with the relative offset of the start of the sub-resource
|
|
from the start of the parent resource's memory binding. The pname:size member is the size of the sub-resource in
|
|
memory. The pname:rowPitch specifies the distance in memory of the start of each texel row of the sub-resource
|
|
from the start of the previous row. The pname:depthPitch specififes the distance in memory of the start of each
|
|
slice of the sub-resource relative to the start of the previous slice. For one-dimensional resources, pname:rowPitch
|
|
is zero, and for one- and two-dimensional resources, pname:depthPitch is zero. All four parameters are specified
|
|
in bytes.
|
|
|
|
include::../validity/protos/vkGetImageSubresourceLayout.txt[]
|
|
|
|
See Also
|
|
--------
|
|
|
|
flink:vkGetPhysicalDeviceImageFormatProperties
|
|
|
|
include::footer.txt[]
|