C Specification

The VkDescriptorImageInfo structure is defined as:

typedef struct VkDescriptorImageInfo {
    VkSampler        sampler;
    VkImageView      imageView;
    VkImageLayout    imageLayout;
} VkDescriptorImageInfo;

Members

  • sampler is a sampler handle, and is used in descriptor updates for types VK_DESCRIPTOR_TYPE_SAMPLER and VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER if the binding being updated does not use immutable samplers.

  • imageView is an image view handle, and is used in descriptor updates for types VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT.

  • imageLayout is the layout that the image subresources accessible from imageView will be in at the time this descriptor is accessed. imageLayout is used in descriptor updates for types VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT.

Description

Members of VkDescriptorImageInfo that are not used in an update (as described above) are ignored.

Valid Usage
  • imageView must not be 2D or 2D array image view created from a 3D image

  • imageLayout must match the actual VkImageLayout of each subresource accessible from imageView at the time this descriptor is accessed

  • If sampler is used and enables sampler Y’CBCR conversion:

    • The format of the imageView must be the same as the VkFormat of the image

    • The aspectMask of the imageView must be VK_IMAGE_ASPECT_COLOR_BIT

    • The components.a of the imageView must be VK_COMPONENT_SWIZZLE_IDENTITY

    • The components.r of the imageView must be VK_COMPONENT_SWIZZLE_IDENTITY

    • The components.g of the imageView must be VK_COMPONENT_SWIZZLE_IDENTITY

    • The components.b of the imageView must be VK_COMPONENT_SWIZZLE_IDENTITY

    • The pNext chain of the imageView must contain a VkSamplerYcbcrConversionInfo which has a conversion which is an identically defined object to the conversion of the VkSamplerYcbcrConversionInfo which is in the pNext chain of the sampler

  • If sampler is used and does not enable sampler Y’CBCR conversion and the VkFormat of the image is a multi-planar format, the image must have been created with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, and the aspectMask of the imageView must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or (for three-plane formats only) VK_IMAGE_ASPECT_PLANE_2_BIT

Valid Usage (Implicit)
  • Both of imageView, and sampler that are valid handles must have been created, allocated, or retrieved from the same VkDevice

See Also

Document Notes

For more information, see the Vulkan Specification at URL

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright (c) 2014-2018 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.