# VkGraphicsShaderGroupCreateInfoNV(3) Manual Page

## Name

VkGraphicsShaderGroupCreateInfoNV - Structure specifying override parameters for each shader group

## C Specification

The `VkGraphicsShaderGroupCreateInfoNV` structure provides the state overrides for each shader group. Each shader group behaves like a pipeline that was created from its state as well as the remaining parent’s state. It is defined as:

    typedef struct VkGraphicsShaderGroupCreateInfoNV {
        VkStructureType                                 sType;
        const void*                                     pNext;
        uint32_t                                        stageCount;
        const VkPipelineShaderStageCreateInfo*          pStages;
        const VkPipelineVertexInputStateCreateInfo*     pVertexInputState;
        const VkPipelineTessellationStateCreateInfo*    pTessellationState;
    } VkGraphicsShaderGroupCreateInfoNV;

## Members

- `sType` is the type of this structure.

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

- `stageCount` is the number of entries in the `pStages` array.

- `pStages` is an array of size `stageCount` structures of type VkPipelineShaderStageCreateInfo describing the set of the shader stages to be included in this shader group.

- `pVertexInputState` is a pointer to an instance of the VkPipelineVertexInputStateCreateInfo structure.

- `pTessellationState` is a pointer to an instance of the VkPipelineTessellationStateCreateInfo structure, and is ignored if the shader group does not include a tessellation control shader stage and tessellation evaluation shader stage.

## Description

Valid Usage

- For `stageCount`, the same restrictions as in `VkGraphicsPipelineCreateInfo`::`stageCount` apply.

- For `pStages`, the same restrictions as in `VkGraphicsPipelineCreateInfo`::`pStages` apply.

- For `pVertexInputState`, the same restrictions as in `VkGraphicsPipelineCreateInfo`::`pVertexInputState` apply.

- For `pTessellationState`, the same restrictions as in `VkGraphicsPipelineCreateInfo`::`pTessellationState` apply.

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV`

- `pNext` must be `NULL`

- `pStages` must be a valid pointer to an array of `stageCount` valid VkPipelineShaderStageCreateInfo structures

- `stageCount` must be greater than `0`

## See Also

VkGraphicsPipelineShaderGroupsCreateInfoNV, VkPipelineShaderStageCreateInfo, VkPipelineTessellationStateCreateInfo, VkPipelineVertexInputStateCreateInfo, VkStructureType

## Document Notes

For more information, see the Vulkan Specification

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

## Copyright

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