## C Specification

If the pNext chain of VkImageCreateInfo includes a VkImageStencilUsageCreateInfoEXT structure, then that structure includes the usage flags specific to the stencil aspect of the image for an image with a depth-stencil format.

The VkImageStencilUsageCreateInfoEXT structure is defined as:

typedef struct VkImageStencilUsageCreateInfoEXT {
VkStructureType      sType;
const void*          pNext;
VkImageUsageFlags    stencilUsage;
} VkImageStencilUsageCreateInfoEXT;

## Members

• sType is the type of this structure.

• pNext is NULL or a pointer to an extension-specific structure.

• stencilUsage is a bitmask of VkImageUsageFlagBits describing the intended usage of the stencil aspect of the image.

## Description

This structure specifies image usages which only apply to the stencil aspect of a depth/stencil format image. When this structure is included in the pNext chain of VkImageCreateInfo, the stencil aspect of the image must only be used as specified by stencilUsage. When this structure is not included in the pNext chain of VkImageCreateInfo, the stencil aspect of an image must only be used as specified VkImageCreateInfo::usage. Use of other aspects of an image are unaffected by this structure.

This structure can also be included in the pNext chain of VkPhysicalDeviceImageFormatInfo2 to query additional capabilities specific to image creation parameter combinations including a separate set of usage flags for the stencil aspect of the image using vkGetPhysicalDeviceImageFormatProperties2. When this structure is not present in the pNext chain of VkPhysicalDeviceImageFormatInfo2 then the implicit value of stencilUsage matches that of VkPhysicalDeviceImageFormatInfo2::usage.

Valid Usage
• If stencilUsage includes VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, it must not include bits other than VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT or VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT

Valid Usage (Implicit)
• sType must be VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT

• stencilUsage must be a valid combination of VkImageUsageFlagBits values

• stencilUsage must not be 0