// 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::../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 selects 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 <> 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 = IMAGE_TYPE_1D + width >= 1 + height = 1 + depth = 1 + arrayLayers >= 1 + samples = 1 | viewType = VIEW_TYPE_1D + baseArrayLayer >= 0 + arrayLayers = 1 | 1D, 1, 0 | imageType = IMAGE_TYPE_1D + width >= 1 + height = 1 + depth = 1 + arrayLayers >= 1 + samples = 1 | viewType = VIEW_TYPE_1D_ARRAY + baseArrayLayer >= 0 + arrayLayers >= 1 | 2D, 0, 0 | imageType = IMAGE_TYPE_2D + width >= 1 + height >= 1 + depth = 1 + arrayLayers >= 1 + samples = 1 | viewType = VIEW_TYPE_2D + baseArrayLayer >= 0 + arrayLayers = 1 | 2D, 1, 0 | imageType = IMAGE_TYPE_2D + width >= 1 + height >= 1 + depth = 1 + arrayLayers >= 1 + samples = 1 | viewType = VIEW_TYPE_2D_ARRAY + baseArrayLayer >= 0 + arrayLayers >= 1 | 2D, 0, 1 | imageType = IMAGE_TYPE_2D + width >= 1 + height >= 1 + depth = 1 + arrayLayers >= 1 + samples > 1 | viewType = VIEW_TYPE_2D + baseArrayLayer >= 0 + arrayLayers = 1 | 2D, 1, 1 | imageType = IMAGE_TYPE_2D + width >= 1 + height >= 1 + depth = 1 + arrayLayers >= 1 + samples > 1 | viewType = VIEW_TYPE_2D_ARRAY + baseArrayLayer >= 0 + arrayLayers >= 1 | CUBE, 0, 0 | imageType = IMAGE_TYPE_2D + width >= 1 + height = width + depth = 1 + arrayLayers >= 6 + samples = 1 + flags include ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT | viewType = VIEW_TYPE_CUBE + baseArrayLayer >= 0 + arrayLayers = 6 | CUBE, 1, 0 | imageType = IMAGE_TYPE_2D + width >= 1 + height = width + depth = 1 + arrayLayers >= 6×N + samples = 1 + flags include ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT | viewType = VIEW_TYPE_CUBE_ARRAY + baseArrayLayer >= 0 + arrayLayers = 6×N | 3D, 0, 0 | imageType = IMAGE_TYPE_3D + width >= 1 + height >= 1 + depth >= 1 + arrayLayers = 1 + samples = 1 | viewType = VIEW_TYPE_3D + baseArrayLayer = 0 + arrayLayers = 1 |======================================== The pname:subresourceRange member is of type slink:VkImageSubresourceRange. 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[]