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

88 lines
3.4 KiB
Plaintext

// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
VkSparseImageMemoryRequirements(3)
==================================
Name
----
VkSparseImageMemoryRequirements - Structure specifying sparse image memory requirements
C Specification
---------------
// refBegin VkSparseImageMemoryRequirements - Structure specifying sparse image memory requirements
The sname:VkSparseImageMemoryRequirements structure is defined as:
include::../api/structs/VkSparseImageMemoryRequirements.txt[]
Members
-------
* pname:formatProperties.aspectMask is the set of aspects of the image
that this sparse memory requirement applies to. This will usually have a
single aspect specified. However, depth/stencil images may: have depth
and stencil data interleaved in the same sparse block, in which case
both ename:VK_IMAGE_ASPECT_DEPTH_BIT and
ename:VK_IMAGE_ASPECT_STENCIL_BIT would be present.
* pname:formatProperties.imageGranularity describes the dimensions of a
single bindable sparse image block in pixel units. For aspect
ename:VK_IMAGE_ASPECT_METADATA_BIT, all dimensions will be zero
pixels. All metadata is located in the mip tail region.
* pname:formatProperties.flags is a bitmask of
elink:VkSparseImageFormatFlagBits:
** If ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT is set the image
uses a single mip tail region for all array layers.
** If ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT is set the
dimensions of mip levels must: be integer multiples of the corresponding
dimensions of the sparse image block for levels not located in the mip
tail.
** If ename:VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT is set the
image uses non-standard sparse image block dimensions. The
pname:formatProperties.imageGranularity values do not match the
standard sparse image block dimension corresponding to the image's
pixel format.
* pname:imageMipTailFirstLod is the first mip level at which image
subresources are included in the mip tail region.
* pname:imageMipTailSize is the memory size (in bytes) of the mip tail
region. If pname:formatProperties.flags contains
ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, this is the size of the
whole mip tail, otherwise this is the size of the mip tail of a single
array layer. This value is guaranteed to be a multiple of the sparse block
size in bytes.
* pname:imageMipTailOffset is the opaque memory offset used with
slink:VkSparseImageOpaqueMemoryBindInfo to bind the mip tail region(s).
* pname:imageMipTailStride is the offset stride between each array-layer's
mip tail, if pname:formatProperties.flags does not contain
ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT (otherwise the value is
undefined).
Description
-----------
include::../validity/structs/VkSparseImageMemoryRequirements.txt[]
See Also
--------
basetype:VkDeviceSize, slink:VkSparseImageFormatProperties, flink:vkGetImageSparseMemoryRequirements
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkSparseImageMemoryRequirements
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
include::footer.txt[]