vulkan-3.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

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 all other PipelineCreationFeedbackEXT data members are undefined.

See Also

PipelineCreationFeedbackCreateInfoEXT, PipelineCreationFeedbackFlagBitsEXT, PipelineCreationFeedbackFlagsEXT

Constructors

PipelineCreationFeedbackEXT 

Fields

Instances
Show PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Storable PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

FromCStruct PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

ToCStruct PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Zero PipelineCreationFeedbackEXT Source # 
Instance details

Defined in Graphics.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 RayTracingPipelineCreateInfoNV or GraphicsPipelineCreateInfo, the i element of pPipelineStageCreationFeedbacks corresponds to the i element of 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

ComputePipelineCreateInfo, GraphicsPipelineCreateInfo, PipelineCreationFeedbackEXT, RayTracingPipelineCreateInfoNV, StructureType

Constructors

PipelineCreationFeedbackCreateInfoEXT 

Fields

Instances
Show PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Storable PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

FromCStruct PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

ToCStruct PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Zero PipelineCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

newtype PipelineCreationFeedbackFlagBitsEXT Source #

VkPipelineCreationFeedbackFlagBitsEXT - Bitmask specifying pipeline or pipeline stage creation feedback

See Also

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, 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
Eq PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Ord PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Read PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Show PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Storable PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

Bits PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Graphics.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 #

Zero PipelineCreationFeedbackFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_pipeline_creation_feedback

type EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback" Source #