vulkan-3.13: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Description

Name

VK_EXT_pipeline_creation_feedback - device extension

VK_EXT_pipeline_creation_feedback

Name String
VK_EXT_pipeline_creation_feedback
Extension Type
Device extension
Registered Extension Number
193
Revision
1
Extension and Version Dependencies
  • Requires Vulkan 1.0
Special Use
Contact

Other Extension Metadata

Last Modified Date
2019-03-12
IP Status
No known IP claims.
Contributors
  • Jean-Francois Roy, Google
  • Hai Nguyen, Google
  • Andrew Ellem, Google
  • Bob Fraser, Google
  • Sujeevan Rajayogam, Google
  • Jan-Harald Fredriksen, ARM
  • Jeff Leger, Qualcomm Technologies, Inc.
  • Jeff Bolz, NVIDIA
  • Daniel Koch, NVIDIA
  • Neil Henning, AMD

Description

This extension adds a mechanism to provide feedback to an application about pipeline creation, with the specific goal of allowing a feedback loop between build systems and in-the-field application executions to ensure effective pipeline caches are shipped to customers.

New Structures

New Enums

New Bitmasks

New Enum Constants

Version History

  • Revision 1, 2019-03-12 (Jean-Francois Roy)

    • Initial revision

See Also

PipelineCreationFeedbackCreateInfoEXT, PipelineCreationFeedbackEXT, PipelineCreationFeedbackFlagBitsEXT, PipelineCreationFeedbackFlagsEXT

Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

Synopsis

Documentation

data PipelineCreationFeedbackEXT Source #

VkPipelineCreationFeedbackEXT - Feedback about the creation of a pipeline or pipeline stage

Description

If the PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT is not set in flags, an implementation must not set any other bits in flags, and the values of all other PipelineCreationFeedbackEXT data members are undefined.

See Also

VK_EXT_pipeline_creation_feedback, PipelineCreationFeedbackCreateInfoEXT, PipelineCreationFeedbackFlagBitsEXT, PipelineCreationFeedbackFlagsEXT

Constructors

PipelineCreationFeedbackEXT 

Fields

Instances

Instances details
Eq PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Show PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Storable PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

FromCStruct PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

ToCStruct PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Zero PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

data PipelineCreationFeedbackCreateInfoEXT Source #

VkPipelineCreationFeedbackCreateInfoEXT - Request for feedback about the creation of a pipeline

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 PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT in PipelineCreationFeedbackEXT::flags for pPipelineCreationFeedback and every element of pPipelineStageCreationFeedbacks.

Note

One common scenario for an implementation to skip per-stage feedback is when PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT is set in pPipelineCreationFeedback.

When chained to RayTracingPipelineCreateInfoKHR, RayTracingPipelineCreateInfoNV, or GraphicsPipelineCreateInfo, the i element of pPipelineStageCreationFeedbacks corresponds to the i element of RayTracingPipelineCreateInfoKHR::pStages, RayTracingPipelineCreateInfoNV::pStages, or GraphicsPipelineCreateInfo::pStages. When chained to ComputePipelineCreateInfo, the first element of pPipelineStageCreationFeedbacks corresponds to ComputePipelineCreateInfo::stage.

Valid Usage

Valid Usage (Implicit)

  • pPipelineCreationFeedback must be a valid pointer to a PipelineCreationFeedbackEXT structure
  • pPipelineStageCreationFeedbacks must be a valid pointer to an array of pipelineStageCreationFeedbackCount PipelineCreationFeedbackEXT structures
  • pipelineStageCreationFeedbackCount must be greater than 0

See Also

VK_EXT_pipeline_creation_feedback, ComputePipelineCreateInfo, GraphicsPipelineCreateInfo, PipelineCreationFeedbackEXT, RayTracingPipelineCreateInfoKHR, RayTracingPipelineCreateInfoNV, StructureType

Constructors

PipelineCreationFeedbackCreateInfoEXT 

Fields

Instances

Instances details
Eq PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Show PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Storable PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

FromCStruct PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

ToCStruct PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Zero PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

newtype PipelineCreationFeedbackFlagBitsEXT Source #

VkPipelineCreationFeedbackFlagBitsEXT - Bitmask specifying pipeline or pipeline stage creation feedback

See Also

VK_EXT_pipeline_creation_feedback, PipelineCreationFeedbackCreateInfoEXT, PipelineCreationFeedbackEXT, PipelineCreationFeedbackFlagsEXT

Bundled Patterns

pattern PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: PipelineCreationFeedbackFlagBitsEXT

PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT indicates that the feedback information is valid.

pattern PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: PipelineCreationFeedbackFlagBitsEXT

PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT indicates that a readily usable pipeline or pipeline stage was found in the pipelineCache specified by the application in the pipeline creation command.

An implementation should set the PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT bit if it was able to avoid the large majority of pipeline or pipeline stage creation work by using the pipelineCache parameter of createGraphicsPipelines, createRayTracingPipelinesKHR, createRayTracingPipelinesNV, or createComputePipelines. When an implementation sets this bit for the entire pipeline, it may leave it unset for any stage.

Note

Implementations are encouraged to provide a meaningful signal to applications using this bit. The intention is to communicate to the application that the pipeline or pipeline stage was created "as fast as it gets" using the pipeline cache provided by the application. If an implementation uses an internal cache, it is discouraged from setting this bit as the feedback would be unactionable.

pattern PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: PipelineCreationFeedbackFlagBitsEXT

PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT indicates that the base pipeline specified by the basePipelineHandle or basePipelineIndex member of the Vk*PipelineCreateInfo structure was used to accelerate the creation of the pipeline.

An implementation should set the PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT bit if it was able to avoid a significant amount of work by using the base pipeline.

Note

While "significant amount of work" is subjective, implementations are encouraged to provide a meaningful signal to applications using this bit. For example, a 1% reduction in duration may not warrant setting this bit, while a 50% reduction would.

Instances

Instances details
Eq PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Ord PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Read PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Show PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Storable PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Bits PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Methods

(.&.) :: PipelineCreationFeedbackFlagBitsEXT -> PipelineCreationFeedbackFlagBitsEXT -> PipelineCreationFeedbackFlagBitsEXT #

(.|.) :: PipelineCreationFeedbackFlagBitsEXT -> PipelineCreationFeedbackFlagBitsEXT -> PipelineCreationFeedbackFlagBitsEXT #

xor :: PipelineCreationFeedbackFlagBitsEXT -> PipelineCreationFeedbackFlagBitsEXT -> PipelineCreationFeedbackFlagBitsEXT #

complement :: PipelineCreationFeedbackFlagBitsEXT -> PipelineCreationFeedbackFlagBitsEXT #

shift :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

rotate :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

zeroBits :: PipelineCreationFeedbackFlagBitsEXT #

bit :: Int -> PipelineCreationFeedbackFlagBitsEXT #

setBit :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

clearBit :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

complementBit :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

testBit :: PipelineCreationFeedbackFlagBitsEXT -> Int -> Bool #

bitSizeMaybe :: PipelineCreationFeedbackFlagBitsEXT -> Maybe Int #

bitSize :: PipelineCreationFeedbackFlagBitsEXT -> Int #

isSigned :: PipelineCreationFeedbackFlagBitsEXT -> Bool #

shiftL :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

unsafeShiftL :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

shiftR :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

unsafeShiftR :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

rotateL :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

rotateR :: PipelineCreationFeedbackFlagBitsEXT -> Int -> PipelineCreationFeedbackFlagBitsEXT #

popCount :: PipelineCreationFeedbackFlagBitsEXT -> Int #

FiniteBits PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Zero PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

type EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback" Source #