# VkPipelineCreationFeedbackCreateInfoEXT(3) Manual Page

## Name

VkPipelineCreationFeedbackCreateInfoEXT - Request for feedback about the creation of a pipeline

## C Specification

Feedback about the creation of a particular pipeline object can be obtained by adding a `VkPipelineCreationFeedbackCreateInfoEXT` structure to the `pNext` chain of VkGraphicsPipelineCreateInfo, VkRayTracingPipelineCreateInfoKHR, or VkComputePipelineCreateInfo. The `VkPipelineCreationFeedbackCreateInfoEXT` structure is defined as:

    typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
        VkStructureType                   sType;
        const void*                       pNext;
        VkPipelineCreationFeedbackEXT*    pPipelineCreationFeedback;
        uint32_t                          pipelineStageCreationFeedbackCount;
        VkPipelineCreationFeedbackEXT*    pPipelineStageCreationFeedbacks;
    } VkPipelineCreationFeedbackCreateInfoEXT;

## Members

- `sType` is the type of this structure.

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

- `pPipelineCreationFeedback` is a pointer to a VkPipelineCreationFeedbackEXT structure.

- `pipelineStageCreationFeedbackCount` is the number of elements in `pPipelineStageCreationFeedbacks`.

- `pPipelineStageCreationFeedbacks` is a pointer to an array of `pipelineStageCreationFeedbackCount` VkPipelineCreationFeedbackEXT structures.

## Description

An implementation should write pipeline creation feedback to `pPipelineCreationFeedback` and may write pipeline stage creation feedback to `pPipelineStageCreationFeedbacks`. An implementation must set or clear the `VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT` in VkPipelineCreationFeedbackEXT::`flags` for `pPipelineCreationFeedback` and every element of `pPipelineStageCreationFeedbacks`.

| Note One common scenario for an implementation to skip per-stage feedback is when `VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT` is set in `pPipelineCreationFeedback`.

When chained to VkRayTracingPipelineCreateInfoKHR or VkGraphicsPipelineCreateInfo, the `i` element of `pPipelineStageCreationFeedbacks` corresponds to the `i` element of VkRayTracingPipelineCreateInfoKHR::`pStages` or VkGraphicsPipelineCreateInfo::`pStages`. When chained to VkComputePipelineCreateInfo, the first element of `pPipelineStageCreationFeedbacks` corresponds to VkComputePipelineCreateInfo::`stage`.

Valid Usage

- When chained to VkGraphicsPipelineCreateInfo, VkPipelineCreationFeedbackEXT::`pipelineStageCreationFeedbackCount` must equal VkGraphicsPipelineCreateInfo::`stageCount`

- When chained to VkComputePipelineCreateInfo, VkPipelineCreationFeedbackEXT::`pipelineStageCreationFeedbackCount` must equal 1

- When chained to VkRayTracingPipelineCreateInfoKHR, VkPipelineCreationFeedbackEXT::`pipelineStageCreationFeedbackCount` must equal VkRayTracingPipelineCreateInfoKHR::`stageCount`

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT`

- `pPipelineCreationFeedback` must be a valid pointer to a VkPipelineCreationFeedbackEXT structure

- `pPipelineStageCreationFeedbacks` must be a valid pointer to an array of `pipelineStageCreationFeedbackCount` VkPipelineCreationFeedbackEXT structures

- `pipelineStageCreationFeedbackCount` must be greater than `0`

## See Also

VkComputePipelineCreateInfo, VkGraphicsPipelineCreateInfo, VkPipelineCreationFeedbackEXT, VkRayTracingPipelineCreateInfoKHR, VkRayTracingPipelineCreateInfoNV, 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.