Crate rendy_command

Source
Expand description

This crate revolves around command recording and submission.

Structs§

CommandBuffer
Command buffer wrapper. This wrapper defines state with usage, level and ability to be individually reset at type level. This way many methods become safe.
CommandPool
Simple pool wrapper. Doesn’t provide any guarantees. Wraps raw buffers into CommandCommand buffer.
Compute
Capable of compute commands execution.
DispatchCommand
Draw command for dispatch.
DrawCommand
Draw command for draw_indirect.
DrawIndexedCommand
Draw command for draw_indexed_indirect.
Encoder
Trait to encode commands outside render pass.
EncoderCommon
Encoder for recording commands inside or outside renderpass.
ExecutableState
Command buffer in executable state can be submitted.
Execute
Capable of either compute or graphics commands execution.
Families
Collection of queue families of one device.
Family
Family of the command queues. Queues from one family can share resources and execute command buffers associated with the family. All queues of the family have same capabilities.
FamilyId
Family id.
Fence
Fence wrapper.
FenceEpoch
Queue epoch is the point in particluar queue timeline when fence is submitted.
General
Capable of any commands execution.
Graphics
Capable of graphics command execution.
IndividualReset
This flag specify that buffer can be reset individually.
InitialState
Command buffer state in which all buffers start. Resetting also moves buffer to this state.
InvalidState
One-shot buffers move to invalid state after execution. Invalidating any resource referenced in any command recorded to the buffer implicitly move it to the invalid state.
MultiShot
Command buffer with this usage flag will move back to executable state after execution.
NoIndividualReset
This flag specify that buffer cannot be reset individually.
NoSimultaneousUse
Additional flag that disallows resubmission of a command buffer while it is still in a pending state It must be completed, i.e. a fence must submitted with this buffer or later into the same queue and be waited on before buffer resubmission. Submit<B, NoSimultaneousUse> cannot be submitted more than once.
OneShot
Command buffer with this usage flag will move to invalid state after execution. Resubmitting will require reset and rerecording commands.
OutsideRenderPass
Primary buffers must has this flag as they cannot has RenderPassContinue flag. Secondary buffers with this usage flag cannot be executed as part of render-pass.
PendingState
Command buffer in pending state are submitted to the device. Command buffer in pending state must never be invalidated or reset because device may read it at the moment. Proving device is done with buffer requires nontrivial strategies. Therefore moving buffer from pending state requires unsafe method.
PrimaryLevel
Command buffers of this level can be submitted to the command queues.
Queue
Command queue wrapper.
QueueId
Queue id.
RecordingState
Command buffer in recording state could be populated with commands.
RenderPassContinue
Buffers with this usage flag must be secondary buffers executed entirely in render-pass.
RenderPassEncoder
Special encoder to record render-pass commands.
RenderPassInlineEncoder
Special encoder to record commands inside render pass.
RenderPassSecondaryEncoder
Special encoder to execute secondary buffers inside render pass.
SecondaryLevel
Command buffers of this level can be executed as part of the primary buffers.
SimultaneousUse
Additional flag that allows resubmission of a command buffer while it is still in a pending state. Submit<B, SimultaneousUse> can be submitted more than once.
Submission
Command queue submission.
Submit
Structure contains command buffer ready for submission.
Transfer
Capable of transfer only.

Enums§

QueueType
The type of the queue, an enum encompassing queue::Capability

Traits§

BeginInfo
Begin info for specific level and render pass relation.
Capability
Abstract capability specifier.
Level
Type-level buffer level flag. It defines whether buffer can be submitted to the command queues or executed as part of the primary buffers.
RenderPassRelation
Trait implemented for type-level render pass relation flags. RenderPassContinue and OutsideRenderPass.
Reset
Specify flags required for command pool creation to allow individual buffer reset.
Resettable
States in which command buffer can de reset.
Submittable
Submittable object. Values that implement this trait can be submitted to the queues or executed as part of primary buffers (in case of Submittable<B, SecondaryLevel>).
Supports
Check if capability supported.
Usage
Type-level usage flags. It defines if buffer can be resubmitted without reset. Or even resubmitted while being executed.

Functions§

families_from_device
Query queue families from device.

Type Aliases§

PendingOnceState
Command buffer in pending state are submitted to the device. Command buffer in pending state must never be invalidated or reset because device may read it at the moment. Proving device is done with buffer requires nontrivial strategies. Therefore moving buffer from pending state requires unsafe method. This type alias can be used for one-shot command buffers.