| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Core10.Queue
Synopsis
- getDeviceQueue :: MonadIO io => Device -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> io Queue
- queueSubmit :: MonadIO io => Queue -> ("submits" ::: Vector (SomeStruct SubmitInfo)) -> Fence -> io ()
- queueWaitIdle :: MonadIO io => Queue -> io ()
- queueWaitIdleSafe :: MonadIO io => Queue -> io ()
- deviceWaitIdle :: MonadIO io => Device -> io ()
- deviceWaitIdleSafe :: MonadIO io => Device -> io ()
- data SubmitInfo (es :: [Type]) = SubmitInfo {}
- data Queue = Queue {}
- newtype PipelineStageFlagBits where
- PipelineStageFlagBits Flags
- pattern PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_ALL_COMMANDS_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_ALL_GRAPHICS_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_COMPUTE_SHADER_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_DRAW_INDIRECT_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_HOST_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_MESH_SHADER_BIT_EXT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_NONE :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_TASK_SHADER_BIT_EXT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_TOP_OF_PIPE_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_TRANSFER_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_VERTEX_INPUT_BIT :: PipelineStageFlagBits
- pattern PIPELINE_STAGE_VERTEX_SHADER_BIT :: PipelineStageFlagBits
- type PipelineStageFlags = PipelineStageFlagBits
Documentation
Arguments
| :: MonadIO io | |
| => Device |
|
| -> ("queueFamilyIndex" ::: Word32) |
|
| -> ("queueIndex" ::: Word32) |
|
| -> io Queue |
vkGetDeviceQueue - Get a queue handle from a device
Description
getDeviceQueue must only be used to get queues that were created
with the flags parameter of
DeviceQueueCreateInfo set to zero. To get queues
that were created with a non-zero flags parameter use
getDeviceQueue2.
Valid Usage
-
queueFamilyIndexmust be one of the queue family indices specified whendevicewas created, via theDeviceQueueCreateInfostructure
-
queueIndexmust be less than the value ofDeviceQueueCreateInfo::queueCountfor the queue family indicated byqueueFamilyIndexwhendevicewas created -
DeviceQueueCreateInfo::flagsmust have been zero whendevicewas created
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
pQueuemust be a valid pointer to aQueuehandle
See Also
Arguments
| :: MonadIO io | |
| => Queue |
|
| -> ("submits" ::: Vector (SomeStruct SubmitInfo)) |
|
| -> Fence |
|
| -> io () |
vkQueueSubmit - Submits a sequence of semaphores or command buffers to a queue
Description
queueSubmit is a
queue submission command,
with each batch defined by an element of pSubmits. Batches begin
execution in the order they appear in pSubmits, but may complete out
of order.
The order that batches appear in pSubmits is used to determine
submission order,
and thus all the
implicit ordering guarantees
that respect it. Other than these implicit ordering guarantees and any
explicit synchronization primitives,
these batches may overlap or otherwise execute out of order.
Fence operations submitted with queueSubmit have additional ordering
constraints compared to other submission commands, with dependencies
involving previous and subsequent queue operations. Information about
these additional constraints can be found in the
fence
sections of
the synchronization chapter.
The first synchronization scope of each semaphore signal operation defined by this command includes every command in the same batch that the signal operation is defined in, and all commands that occur earlier in submission order.
The second
synchronization scope
of each
semaphore wait operation
defined by this command includes every command in the same batch that
the wait operation is defined in, and all commands that occur later in
submission order.
The scope is limited by the pWaitDstStageMask for each batch, as
described in SubmitInfo.
If any command buffer submitted to this queue is in the
executable state,
it is moved to the
pending state.
Once execution of all submissions of a command buffer complete, it moves
from the
pending state,
back to the
executable state.
If a command buffer was recorded with the
COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
flag, it instead moves to the
invalid state.
If queueSubmit fails, it may return
ERROR_OUT_OF_HOST_MEMORY or
ERROR_OUT_OF_DEVICE_MEMORY. If it does, the
implementation must ensure that the state and contents of any
resources or synchronization primitives referenced by the submitted
command buffers and any semaphores referenced by pSubmits is
unaffected by the call or its failure. If queueSubmit fails in such a
way that the implementation is unable to make that guarantee, the
implementation must return
ERROR_DEVICE_LOST. See
Lost Device.
Valid Usage
- If
fenceis notNULL_HANDLE,fencemust be unsignaled
- If
fenceis notNULL_HANDLE,fencemust not be associated with any other queue command that has not yet completed execution on that queue - Any calls to
cmdSetEvent,cmdResetEventorcmdWaitEventsthat have been recorded into any of the command buffer elements of thepCommandBuffersmember of any element ofpSubmits, must not reference anyEventthat is referenced by any of those commands in a command buffer that has been submitted to another queue and is still in the pending state - Any stage flag included
in any element of the
pWaitDstStageMaskmember of any element ofpSubmitsmust be a pipeline stage supported by one of the capabilities ofqueue, as specified in the table of supported pipeline stages - Each binary semaphore
element of the
pSignalSemaphoresmember of any element ofpSubmitsmust be unsignaled when the semaphore signal operation it defines is executed on the device - When a semaphore wait
operation referring to a binary semaphore defined by any element of
the
pWaitSemaphoresmember of any element ofpSubmitsexecutes onqueue, there must be no other queues waiting on the same semaphore - All elements of the
pWaitSemaphoresmember of all elements ofpSubmitscreated with aSemaphoreTypeofSEMAPHORE_TYPE_BINARYmust reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution - Each element of the
pCommandBuffersmember of each element ofpSubmitsmust be in the pending or executable state - If any element of the
pCommandBuffersmember of any element ofpSubmitswas not recorded with theCOMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not be in the pending state - Any
secondary command buffers recorded
into any element of the
pCommandBuffersmember of any element ofpSubmitsmust be in the pending or executable state - If any
secondary command buffers recorded
into any element of the
pCommandBuffersmember of any element ofpSubmitswas not recorded with theCOMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not be in the pending state - Each element of the
pCommandBuffersmember of each element ofpSubmitsmust have been allocated from aCommandPoolthat was created for the same queue familyqueuebelongs to - If any element of
pSubmits->pCommandBuffersincludes a Queue Family Ownership Transfer Acquire Operation, there must exist a previously submitted Queue Family Ownership Transfer Release Operation on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such acquire operations, and which happens-before the acquire operation - If any element of
pSubmits->pCommandBuffersincludes a Queue Family Ownership Transfer Acquire Operation, the affected resource must not be modified in any way between the last matching release operation and the acquire operation - If a command recorded
into any element of
pCommandBufferswas acmdBeginQuerywhosequeryPoolwas created with aqueryTypeofQUERY_TYPE_PERFORMANCE_QUERY_KHR, the profiling lock must have been held continuously on theDevicethatqueuewas retrieved from, throughout recording of those command buffers - Any resource created with
SHARING_MODE_EXCLUSIVEthat is read by an operation specified bypSubmitsmust not be owned by any queue family other than the one whichqueuebelongs to, at the time it is executed - Any resource created with
SHARING_MODE_CONCURRENTthat is accessed by an operation specified bypSubmitsmust have included the queue family ofqueueat resource creation time - If
queuewas not created withDEVICE_QUEUE_CREATE_PROTECTED_BIT, there must be no element ofpSubmitsthat includes aProtectedSubmitInfostructure in itspNextchain withprotectedSubmitequal toTRUE
Valid Usage (Implicit)
-
queuemust be a validQueuehandle
- If
submitCountis not0,pSubmitsmust be a valid pointer to an array ofsubmitCountvalidSubmitInfostructures - If
fenceis notNULL_HANDLE,fencemust be a validFencehandle - Both of
fence, andqueuethat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
Host Synchronization
- Host access to
queuemust be externally synchronized if it was not created withDEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR
- Host access to
fencemust be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| - | - | - | Any | - |
Return Codes
See Also
vkQueueWaitIdle - Wait for a queue to become idle
Description
queueWaitIdle is equivalent to having submitted a valid fence to every
previously executed
queue submission command
that accepts a fence, then waiting for all of those fences to signal
using waitForFences with an infinite timeout and
waitAll set to TRUE.
Even though queuePresentKHR does
not have a fence parameter, it does accept a fence through
SwapchainPresentFenceInfoEXT.
Valid Usage (Implicit)
-
queuemust be a validQueuehandle
Host Synchronization
- Host access to
queuemust be externally synchronized if it was not created withDEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| - | - | - | Any | - |
Return Codes
See Also
A variant of queueWaitIdle which makes a *safe* FFI call
vkDeviceWaitIdle - Wait for a device to become idle
Description
deviceWaitIdle is equivalent to calling queueWaitIdle for all queues
owned by device.
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
Host Synchronization
- Host access to all
Queueobjects created fromdevicethat are not created withDEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHRmust be externally synchronized
Return Codes
See Also
A variant of deviceWaitIdle which makes a *safe* FFI call
data SubmitInfo (es :: [Type]) Source #
VkSubmitInfo - Structure specifying a queue submit operation
Description
The order that command buffers appear in pCommandBuffers is used to
determine
submission order,
and thus all the
implicit ordering guarantees
that respect it. Other than these implicit ordering guarantees and any
explicit synchronization primitives,
these command buffers may overlap or otherwise execute out of order.
The second
synchronization scope
of each
semaphore wait operation
defined by this structure is limited to operations in stages indicated
by the corresponding element of pWaitDstStageMask.
A common scenario for using pWaitDstStageMask with values other than
PIPELINE_STAGE_ALL_COMMANDS_BIT
is when synchronizing a window system presentation operation against
subsequent command buffers which render the next frame. In this case, a
presentation image must not be overwritten until the presentation
operation completes, but other pipeline stages can execute without
waiting. A mask of
PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
prevents subsequent color attachment writes from executing until the
semaphore signals. Some implementations may be able to execute
transfer operations and/or pre-rasterization work before the semaphore
is signaled.
If an image layout transition needs to be performed on a presentable
image before it is used in a framebuffer, that can be performed as the
first operation submitted to the queue after acquiring the image, and
should not prevent other work from overlapping with the presentation
operation. For example, a ImageMemoryBarrier
could use:
srcStageMask=PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BITsrcAccessMask= 0dstStageMask=PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BITdstAccessMask=ACCESS_COLOR_ATTACHMENT_READ_BIT|ACCESS_COLOR_ATTACHMENT_WRITE_BIT.oldLayout=IMAGE_LAYOUT_PRESENT_SRC_KHRnewLayout=IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
Alternatively, oldLayout can be
IMAGE_LAYOUT_UNDEFINED, if the image’s
contents need not be preserved.
This barrier accomplishes a dependency chain between previous
presentation operations and subsequent color attachment output
operations, with the layout transition performed in between, and does
not introduce a dependency between previous work and any
pre-rasterization shader stages.
More precisely, the semaphore signals after the presentation operation
completes, the semaphore wait stalls the
PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
stage, and there is a dependency from that same stage to itself with the
layout transition performed in between.
Valid Usage
- If the
geometryShader
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_GEOMETRY_SHADER_BIT
- If the
tessellationShader
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BITorPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT - If the
conditionalRendering
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT - If the
fragmentDensityMap
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT - If the
transformFeedback
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT - If the
meshShader
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_MESH_SHADER_BIT_EXT - If the
taskShader
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_TASK_SHADER_BIT_EXT - If neither of the
shadingRateImage
or the
attachmentFragmentShadingRate
features are enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If the
synchronization2
feature is not enabled,
pWaitDstStageMaskmust not be0 - If neither the
VK_NV_ray_tracing
extension or the
rayTracingPipeline
feature are enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR - If the
accelerationStructure
feature is not enabled,
pWaitDstStageMaskmust not containPIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR - Each element of
pCommandBuffersmust not have been allocated withCOMMAND_BUFFER_LEVEL_SECONDARY - Each element of
pWaitDstStageMaskmust not includePIPELINE_STAGE_HOST_BIT - If any element of
pWaitSemaphoresorpSignalSemaphoreswas created with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINE, then thepNextchain must include aTimelineSemaphoreSubmitInfostructure - If the
pNextchain of this structure includes aTimelineSemaphoreSubmitInfostructure and any element ofpWaitSemaphoreswas created with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINE, then itswaitSemaphoreValueCountmember must equalwaitSemaphoreCount - If the
pNextchain of this structure includes aTimelineSemaphoreSubmitInfostructure and any element ofpSignalSemaphoreswas created with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINE, then itssignalSemaphoreValueCountmember must equalsignalSemaphoreCount - For each element of
pSignalSemaphorescreated with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthe corresponding element ofTimelineSemaphoreSubmitInfo::pSignalSemaphoreValuesmust have a value greater than the current value of the semaphore when the semaphore signal operation is executed - For each element of
pWaitSemaphorescreated with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthe corresponding element ofTimelineSemaphoreSubmitInfo::pWaitSemaphoreValuesmust have a value which does not differ from the current value of the semaphore or the value of any outstanding semaphore wait or signal operation on that semaphore by more than maxTimelineSemaphoreValueDifference - For each element of
pSignalSemaphorescreated with aSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEthe corresponding element ofTimelineSemaphoreSubmitInfo::pSignalSemaphoreValuesmust have a value which does not differ from the current value of the semaphore or the value of any outstanding semaphore wait or signal operation on that semaphore by more than maxTimelineSemaphoreValueDifference - If the
pNextchain of this structure does not include aProtectedSubmitInfostructure withprotectedSubmitset toTRUE, then each element of thepCommandBuffersarray must be an unprotected command buffer - If the
pNextchain of this structure includes aProtectedSubmitInfostructure withprotectedSubmitset toTRUE, then each element of thepCommandBuffersarray must be a protected command buffer - If
pCommandBufferscontains any resumed render pass instances, they must be suspended by a render pass instance earlier in submission order withinpCommandBuffers - If
pCommandBufferscontains any suspended render pass instances, they must be resumed by a render pass instance later in submission order withinpCommandBuffers - If
pCommandBufferscontains any suspended render pass instances, there must be no action or synchronization commands executed in a primary or secondary command buffer between that render pass instance and the render pass instance that resumes it - If
pCommandBufferscontains any suspended render pass instances, there must be no render pass instances between that render pass instance and the render pass instance that resumes it - If the
variableSampleLocations
limit is not supported, and any element of
pCommandBufferscontains any suspended render pass instances, where a graphics pipeline has been bound, any pipelines bound in the render pass instance that resumes it, or any subsequent render pass instances that resume from that one and so on, must use the same sample locations - If the
pNextchain of this structure includes aFrameBoundaryTensorsARMstructure then it must also include aFrameBoundaryEXTstructure - If at least one
CommandBufferSubmitInfostructure inpCommandBufferInfosreferences acommandBufferallocated from a pool that was created with aDataGraphProcessingEngineCreateInfoARMstructure in thepNextchain ofCommandPoolCreateInfothat included a foreign data graph processing engine in itspProcessingEnginesmember, thenpWaitSemaphoreInfosandpSignalSemaphoreInfosmust only referencesemaphoreobjects that were created from external handle types reported as supported in aQueueFamilyDataGraphProcessingEnginePropertiesARM::foreignSemaphoreHandleTypesstructure viagetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARMwith aqueueFamilyIndexmatching the one the command pool was created for, for all the foreign data graph processing engines that were part of theDataGraphProcessingEngineCreateInfoARMused to create the command pool
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_SUBMIT_INFO
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofAmigoProfilingSubmitInfoSEC,D3D12FenceSubmitInfoKHR,DeviceGroupSubmitInfo,FrameBoundaryEXT,FrameBoundaryTensorsARM,LatencySubmissionPresentIdNV,PerformanceQuerySubmitInfoKHR,ProtectedSubmitInfo,TimelineSemaphoreSubmitInfo,Win32KeyedMutexAcquireReleaseInfoKHR, orWin32KeyedMutexAcquireReleaseInfoNV - The
sTypevalue of each structure in thepNextchain must be unique - If
waitSemaphoreCountis not0,pWaitSemaphoresmust be a valid pointer to an array ofwaitSemaphoreCountvalidSemaphorehandles - If
waitSemaphoreCountis not0,pWaitDstStageMaskmust be a valid pointer to an array ofwaitSemaphoreCountvalid combinations ofPipelineStageFlagBitsvalues - If
commandBufferCountis not0,pCommandBuffersmust be a valid pointer to an array ofcommandBufferCountvalidCommandBufferhandles - If
signalSemaphoreCountis not0,pSignalSemaphoresmust be a valid pointer to an array ofsignalSemaphoreCountvalidSemaphorehandles - Each of the elements of
pCommandBuffers, the elements ofpSignalSemaphores, and the elements ofpWaitSemaphoresthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
See Also
VK_VERSION_1_0,
CommandBuffer,
PipelineStageFlags,
Semaphore,
StructureType, queueSubmit
Constructors
| SubmitInfo | |
Fields
| |
Instances
VkQueue - Opaque handle to a queue object
See Also
VK_DEFINE_HANDLE,
VK_VERSION_1_0,
ExportMetalCommandQueueInfoEXT,
ExternalComputeQueueCreateInfoNV,
getDeviceQueue,
getDeviceQueue2,
getQueueCheckpointData2NV,
getQueueCheckpointDataNV,
queueBeginDebugUtilsLabelEXT,
queueBindSparse,
queueEndDebugUtilsLabelEXT,
queueInsertDebugUtilsLabelEXT,
queueNotifyOutOfBandNV,
queuePresentKHR,
queueSetPerformanceConfigurationINTEL,
queueSubmit,
queueSubmit2,
queueSubmit2,
queueWaitIdle
Constructors
| Queue | |
Fields | |
Instances
| Eq Queue Source # | |
| Show Queue Source # | |
| HasObjectType Queue Source # | |
Defined in Vulkan.Core10.Handles Methods objectTypeAndHandle :: Queue -> (ObjectType, Word64) Source # | |
| IsHandle Queue Source # | |
Defined in Vulkan.Core10.Handles | |
| Zero Queue Source # | |
Defined in Vulkan.Core10.Handles | |
newtype PipelineStageFlagBits Source #
VkPipelineStageFlagBits - Bitmask specifying pipeline stages
Description
These values all have the same meaning as the equivalently named values
for PipelineStageFlags2.
PIPELINE_STAGE_NONEspecifies no stages of execution.PIPELINE_STAGE_DRAW_INDIRECT_BITspecifies the stage of the pipeline whereVkDrawIndirect*/VkDispatchIndirect*/VkTraceRaysIndirect*data structures are consumed. This stage also includes reading commands written bycmdExecuteGeneratedCommandsNV. This stage also includes reading commands written bycmdExecuteGeneratedCommandsEXT.PIPELINE_STAGE_TASK_SHADER_BIT_EXTspecifies the task shader stage.PIPELINE_STAGE_MESH_SHADER_BIT_EXTspecifies the mesh shader stage.PIPELINE_STAGE_VERTEX_INPUT_BITspecifies the stage of the pipeline where vertex and index buffers are consumed.PIPELINE_STAGE_VERTEX_SHADER_BITspecifies the vertex shader stage.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BITspecifies the tessellation control shader stage.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BITspecifies the tessellation evaluation shader stage.PIPELINE_STAGE_GEOMETRY_SHADER_BITspecifies the geometry shader stage.PIPELINE_STAGE_FRAGMENT_SHADER_BITspecifies the fragment shader stage.PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BITspecifies the stage of the pipeline where early fragment tests (depth and stencil tests before fragment shading) are performed. This stage also includes render pass load operations for framebuffer attachments with a depth/stencil format.PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BITspecifies the stage of the pipeline where late fragment tests (depth and stencil tests after fragment shading) are performed. This stage also includes render pass store operations for framebuffer attachments with a depth/stencil format.PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BITspecifies the stage of the pipeline after blending where the final color values are output from the pipeline. This stage includes blending, logic operations, render pass load and store operations for color attachments, render pass multisample resolve operations, andcmdClearAttachments.PIPELINE_STAGE_COMPUTE_SHADER_BITspecifies the execution of a compute shader.PIPELINE_STAGE_TRANSFER_BITspecifies the following commands:- All
copy commands,
including
cmdCopyQueryPoolResults cmdBlitImage2andcmdBlitImagecmdResolveImage2andcmdResolveImage- All
clear commands,
with the exception of
cmdClearAttachments
- All
copy commands,
including
PIPELINE_STAGE_HOST_BITspecifies a pseudo-stage indicating execution on the host of reads/writes of device memory. This stage is not invoked by any commands recorded in a command buffer.PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHRspecifies the execution ofcmdBuildAccelerationStructureNV,cmdCopyAccelerationStructureNV,cmdWriteAccelerationStructuresPropertiesNV,cmdBuildAccelerationStructuresKHR,cmdBuildAccelerationStructuresIndirectKHR,cmdCopyAccelerationStructureKHR,cmdCopyAccelerationStructureToMemoryKHR,cmdCopyMemoryToAccelerationStructureKHR, andcmdWriteAccelerationStructuresPropertiesKHR.PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHRspecifies the execution of the ray tracing shader stages, viacmdTraceRaysNV,cmdTraceRaysKHR, orcmdTraceRaysIndirectKHRPIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXTspecifies the execution of decompression commands withcmdDecompressMemoryEXTandcmdDecompressMemoryIndirectCountEXT.PIPELINE_STAGE_ALL_GRAPHICS_BITspecifies the execution of all graphics pipeline stages, and is equivalent to the logical OR of:PIPELINE_STAGE_DRAW_INDIRECT_BITPIPELINE_STAGE_TASK_SHADER_BIT_EXTPIPELINE_STAGE_MESH_SHADER_BIT_EXTPIPELINE_STAGE_VERTEX_INPUT_BITPIPELINE_STAGE_VERTEX_SHADER_BITPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BITPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BITPIPELINE_STAGE_GEOMETRY_SHADER_BITPIPELINE_STAGE_FRAGMENT_SHADER_BITPIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BITPIPELINE_STAGE_LATE_FRAGMENT_TESTS_BITPIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BITPIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXTPIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXTPIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRPIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
PIPELINE_STAGE_ALL_COMMANDS_BITspecifies all operations performed by all commands supported on the queue it is used with.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXTspecifies the stage of the pipeline where the predicate of conditional rendering is consumed.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXTspecifies the stage of the pipeline where vertex attribute output values are written to the transform feedback buffers.PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NVspecifies the stage of the pipeline where device-side preprocessing for generated commands viacmdPreprocessGeneratedCommandsNVis handled.PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXTspecifies the stage of the pipeline where device-side preprocessing for generated commands viacmdPreprocessGeneratedCommandsEXTis handled.PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRspecifies the stage of the pipeline where the fragment shading rate attachment or shading rate image is read to determine the fragment shading rate for portions of a rasterized primitive.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXTspecifies the stage of the pipeline where the fragment density map is read to generate the fragment areas.PIPELINE_STAGE_TOP_OF_PIPE_BITis equivalent toPIPELINE_STAGE_ALL_COMMANDS_BITwithAccessFlagsset to0when specified in the second synchronization scope, but specifies no stage of execution when specified in the first scope.PIPELINE_STAGE_BOTTOM_OF_PIPE_BITis equivalent toPIPELINE_STAGE_ALL_COMMANDS_BITwithAccessFlagsset to0when specified in the first synchronization scope, but specifies no stage of execution when specified in the second scope.
See Also
VK_VERSION_1_0,
CheckpointDataNV,
PipelineStageFlags,
cmdWriteBufferMarkerAMD,
cmdWriteTimestamp
Constructors
| PipelineStageFlagBits Flags |
Bundled Patterns