Crate rendy_command

Source
Expand description

This crate revolves around command recording and submission.

Structs§

  • 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.
  • Simple pool wrapper. Doesn’t provide any guarantees. Wraps raw buffers into CommandCommand buffer.
  • Capable of compute commands execution.
  • Draw command for dispatch.
  • Draw command for draw_indirect.
  • Draw command for draw_indexed_indirect.
  • Trait to encode commands outside render pass.
  • Encoder for recording commands inside or outside renderpass.
  • Command buffer in executable state can be submitted.
  • Capable of either compute or graphics commands execution.
  • Collection of queue families of one device.
  • 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.
  • Family id.
  • Fence wrapper.
  • Queue epoch is the point in particluar queue timeline when fence is submitted.
  • Capable of any commands execution.
  • Capable of graphics command execution.
  • This flag specify that buffer can be reset individually.
  • Command buffer state in which all buffers start. Resetting also moves buffer to this state.
  • 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.
  • Command buffer with this usage flag will move back to executable state after execution.
  • This flag specify that buffer cannot be reset individually.
  • 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.
  • Command buffer with this usage flag will move to invalid state after execution. Resubmitting will require reset and rerecording commands.
  • 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.
  • 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.
  • Command buffers of this level can be submitted to the command queues.
  • Command queue wrapper.
  • Queue id.
  • Command buffer in recording state could be populated with commands.
  • Buffers with this usage flag must be secondary buffers executed entirely in render-pass.
  • Special encoder to record render-pass commands.
  • Special encoder to record commands inside render pass.
  • Special encoder to execute secondary buffers inside render pass.
  • Command buffers of this level can be executed as part of the primary buffers.
  • 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.
  • Command queue submission.
  • Structure contains command buffer ready for submission.
  • Capable of transfer only.

Enums§

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

Traits§

  • Begin info for specific level and render pass relation.
  • Abstract capability specifier.
  • Type-level buffer level flag. It defines whether buffer can be submitted to the command queues or executed as part of the primary buffers.
  • Trait implemented for type-level render pass relation flags. RenderPassContinue and OutsideRenderPass.
  • Specify flags required for command pool creation to allow individual buffer reset.
  • States in which command buffer can de reset.
  • 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>).
  • Check if capability supported.
  • Type-level usage flags. It defines if buffer can be resubmitted without reset. Or even resubmitted while being executed.

Functions§

Type Aliases§

  • 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.