Vulkan-Docs/doc/specs/vulkan/man/VkImageViewCreateInfo.txt

171 lines
4.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/
VkImageViewCreateInfo(3)
========================
Name
----
VkImageViewCreateInfo - Structure specifying parameters of a newly created image view
C Specification
---------------
// refBegin VkImageViewCreateInfo - Structure specifying parameters of a newly created image view
The sname:VkImageViewCreateInfo structure is defined as:
include::../api/structs/VkImageViewCreateInfo.txt[]
Members
-------
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:flags is reserved for future use.
* pname:image is a sname:VkImage on which the view will be created.
* pname:viewType is the type of the image view.
* pname:format is a elink:VkFormat describing the format and type used to
interpret data elements in the image.
* pname:components specifies a remapping of color components (or of depth
or stencil components after they have been converted into color
components). See slink:VkComponentMapping.
* pname:subresourceRange is a slink:VkImageSubresourceRange
selecting the set of mipmap levels and array layers
to be accessible to the view.
Description
-----------
If pname:image was created with the ename:VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
flag, pname:format can: be different from the image's format, but if they
are not equal they must: be _compatible_. Image format compatibility is
defined in the <<features-formats-compatibility-classes,Format Compatibility
Classes>> section.
[[resources-image-views-compatibility]]
.Image and image view parameter compatibility requirements
[cols="20%h,35%,45%",options="header"]
|========================================
| Dim, Arrayed, MS | Image parameters | View parameters
| 1D, 0, 0 |
imageType = ename:VK_IMAGE_TYPE_1D +
width >= 1 +
height = 1 +
depth = 1 +
arrayLayers >= 1 +
samples = 1 |
viewType = ename:VK_VIEW_TYPE_1D +
baseArrayLayer >= 0 +
layerCount = 1
| 1D, 1, 0 |
imageType = ename:VK_IMAGE_TYPE_1D +
width >= 1 +
height = 1 +
depth = 1 +
arrayLayers >= 1 +
samples = 1 |
viewType = ename:VK_VIEW_TYPE_1D_ARRAY +
baseArrayLayer >= 0 +
layerCount >= 1
| 2D, 0, 0 |
imageType = ename:VK_IMAGE_TYPE_2D +
width >= 1 +
height >= 1 +
depth = 1 +
arrayLayers >= 1 +
samples = 1 |
viewType = ename:VK_VIEW_TYPE_2D +
baseArrayLayer >= 0 +
layerCount = 1
| 2D, 1, 0 |
imageType = ename:VK_IMAGE_TYPE_2D +
width >= 1 +
height >= 1 +
depth = 1 +
arrayLayers >= 1 +
samples = 1 |
viewType = ename:VK_VIEW_TYPE_2D_ARRAY +
baseArrayLayer >= 0 +
layerCount >= 1
| 2D, 0, 1 |
imageType = ename:VK_IMAGE_TYPE_2D +
width >= 1 +
height >= 1 +
depth = 1 +
arrayLayers >= 1 +
samples > 1 |
viewType = ename:VK_VIEW_TYPE_2D +
baseArrayLayer >= 0 +
layerCount = 1
| 2D, 1, 1 |
imageType = ename:VK_IMAGE_TYPE_2D +
width >= 1 +
height >= 1 +
depth = 1 +
arrayLayers >= 1 +
samples > 1 |
viewType = ename:VK_VIEW_TYPE_2D_ARRAY +
baseArrayLayer >= 0 +
layerCount >= 1
| CUBE, 0, 0 |
imageType = ename:VK_IMAGE_TYPE_2D +
width >= 1 +
height = width +
depth = 1 +
arrayLayers >= 6 +
samples = 1 +
flags include ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT |
viewType = ename:VK_VIEW_TYPE_CUBE +
baseArrayLayer >= 0 +
layerCount = 6
| CUBE, 1, 0 |
imageType = ename:VK_IMAGE_TYPE_2D +
width >= 1 +
height = width +
depth = 1 +
N >= 1 +
arrayLayers >= latexmath:[$6 \times N$] +
samples = 1 +
flags include ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT |
viewType = ename:VK_VIEW_TYPE_CUBE_ARRAY +
baseArrayLayer >= 0 +
N >= 1 +
layerCount = latexmath:[$6 \times N$]
| 3D, 0, 0 |
imageType = ename:VK_IMAGE_TYPE_3D +
width >= 1 +
height >= 1 +
depth >= 1 +
arrayLayers = 1 +
samples = 1 |
viewType = ename:VK_VIEW_TYPE_3D +
baseArrayLayer = 0 +
layerCount = 1
|========================================
include::../validity/structs/VkImageViewCreateInfo.txt[]
See Also
--------
slink:VkComponentMapping, elink:VkFormat, slink:VkImage, slink:VkImageSubresourceRange, elink:VkImageViewCreateFlags, elink:VkImageViewType, elink:VkStructureType, flink:vkCreateImageView
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkImageViewCreateInfo
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
include::footer.txt[]