## C Specification

If the pNext chain of VkPipelineViewportStateCreateInfo includes a VkPipelineViewportShadingRateImageStateCreateInfoNV structure, then that structure includes parameters controlling the shading rate.

The VkPipelineViewportShadingRateImageStateCreateInfoNV structure is defined as:

// Provided by VK_NV_shading_rate_image
typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
VkStructureType                  sType;
const void*                      pNext;
uint32_t                         viewportCount;
} VkPipelineViewportShadingRateImageStateCreateInfoNV;

## Members

• sType is the type of this structure.

• pNext is NULL or a pointer to a structure extending this structure.

• shadingRateImageEnable specifies whether shading rate image and palettes are used during rasterization.

• viewportCount specifies the number of per-viewport palettes used to translate values stored in shading rate images.

• pShadingRatePalettes is a pointer to an array of VkShadingRatePaletteNV structures defining the palette for each viewport. If the shading rate palette state is dynamic, this member is ignored.

## Description

If this structure is not present, shadingRateImageEnable is considered to be VK_FALSE, and the shading rate image and palettes are not used.

Valid Usage
If the multiple viewports feature is not enabled, viewportCount must be 0 or 1

viewportCount must be less than or equal to VkPhysicalDeviceLimits::maxViewports

If shadingRateImageEnable is VK_TRUE, viewportCount must be greater or equal to the viewportCount member of VkPipelineViewportStateCreateInfo

Valid Usage (Implicit)
sType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV