Struct vulkano::command_buffer::AutoCommandBufferBuilder
[−]
[src]
pub struct AutoCommandBufferBuilder<P = Arc<StandardCommandPool>> where
P: CommandPool, { /* fields omitted */ }
Note that command buffers allocated from the default command pool (Arc<StandardCommandPool>
)
don't implement the Send
and Sync
traits. If you use this pool, then the
AutoCommandBufferBuilder
will not implement Send
and Sync
either. Once a command buffer
is built, however, it does implement Send
and Sync
.
Methods
impl AutoCommandBufferBuilder<Arc<StandardCommandPool>>
[src]
fn new(
device: Arc<Device>,
queue_family: QueueFamily
) -> Result<AutoCommandBufferBuilder<Arc<StandardCommandPool>>, OomError>
device: Arc<Device>,
queue_family: QueueFamily
) -> Result<AutoCommandBufferBuilder<Arc<StandardCommandPool>>, OomError>
Trait Implementations
impl<P, O, E> CommandBufferBuild for AutoCommandBufferBuilder<P> where
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: CommandBufferBuild<Out = O, Err = E>,
P: CommandPool,
[src]
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: CommandBufferBuild<Out = O, Err = E>,
P: CommandPool,
type Out = O
The type of the built command buffer.
type Err = E
Error that can be returned when building.
fn build(self) -> Result<O, E>
Builds the command buffer.
impl<P> CommandBuffer for AutoCommandBufferBuilder<P> where
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: CommandBuffer,
P: CommandPool,
[src]
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: CommandBuffer,
P: CommandPool,
type Pool = <DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>> as CommandBuffer>::Pool
The command pool of the command buffer.
fn inner(&self) -> &UnsafeCommandBuffer<Self::Pool>
Returns the underlying UnsafeCommandBuffer
of this command buffer.
fn prepare_submit(
&self,
future: &GpuFuture,
queue: &Queue
) -> Result<(), CommandBufferExecError>
&self,
future: &GpuFuture,
queue: &Queue
) -> Result<(), CommandBufferExecError>
Checks whether this command buffer is allowed to be submitted after the future
and on the given queue. Read more
fn check_buffer_access(
&self,
buffer: &BufferAccess,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
&self,
buffer: &BufferAccess,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
fn check_image_access(
&self,
image: &ImageAccess,
layout: ImageLayout,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
&self,
image: &ImageAccess,
layout: ImageLayout,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
fn queue_family(&self) -> QueueFamily
Returns the queue family of the command buffer.
fn execute(
self,
queue: Arc<Queue>
) -> Result<CommandBufferExecFuture<NowFuture, Self>, CommandBufferExecError> where
Self: Sized + 'static,
self,
queue: Arc<Queue>
) -> Result<CommandBufferExecFuture<NowFuture, Self>, CommandBufferExecError> where
Self: Sized + 'static,
Executes this command buffer on a queue. Read more
fn execute_after<F>(
self,
future: F,
queue: Arc<Queue>
) -> Result<CommandBufferExecFuture<F, Self>, CommandBufferExecError> where
Self: Sized + 'static,
F: GpuFuture,
self,
future: F,
queue: Arc<Queue>
) -> Result<CommandBufferExecFuture<F, Self>, CommandBufferExecError> where
Self: Sized + 'static,
F: GpuFuture,
Executes the command buffer after an existing future. Read more
impl<P> DeviceOwned for AutoCommandBufferBuilder<P> where
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: DeviceOwned,
P: CommandPool,
[src]
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: DeviceOwned,
P: CommandPool,
impl<P> CommandBufferBuilder for AutoCommandBufferBuilder<P> where
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: CommandBufferBuilder,
P: CommandPool,
[src]
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: CommandBufferBuilder,
P: CommandPool,
fn queue_family(&self) -> QueueFamily
Returns the queue family of the command buffer builder.
fn fill_buffer<B, O>(
self,
buffer: B,
data: u32
) -> Result<O, CommandBufferBuilderError<CmdFillBufferError>> where
Self: Sized + AddCommand<CmdFillBuffer<B::Access>, Out = O>,
B: Buffer,
self,
buffer: B,
data: u32
) -> Result<O, CommandBufferBuilderError<CmdFillBufferError>> where
Self: Sized + AddCommand<CmdFillBuffer<B::Access>, Out = O>,
B: Buffer,
Adds a command that writes the content of a buffer. Read more
fn update_buffer<B, D, O>(
self,
buffer: B,
data: D
) -> Result<O, CommandBufferBuilderError<CmdUpdateBufferError>> where
Self: Sized + AddCommand<CmdUpdateBuffer<B::Access, D>, Out = O>,
B: Buffer + TypedBuffer<Content = D>,
D: 'static,
self,
buffer: B,
data: D
) -> Result<O, CommandBufferBuilderError<CmdUpdateBufferError>> where
Self: Sized + AddCommand<CmdUpdateBuffer<B::Access, D>, Out = O>,
B: Buffer + TypedBuffer<Content = D>,
D: 'static,
Adds a command that writes data to a buffer.
fn copy_buffer<S, D, O>(
self,
src: S,
dest: D
) -> Result<O, CommandBufferBuilderError<CmdCopyBufferError>> where
Self: Sized + AddCommand<CmdCopyBuffer<S::Access, D::Access>, Out = O>,
S: Buffer,
D: Buffer,
self,
src: S,
dest: D
) -> Result<O, CommandBufferBuilderError<CmdCopyBufferError>> where
Self: Sized + AddCommand<CmdCopyBuffer<S::Access, D::Access>, Out = O>,
S: Buffer,
D: Buffer,
Adds a command that copies from a buffer to another.
fn copy_buffer_to_image<B, I, O>(
self,
buffer: B,
image: I
) -> Result<O, CommandBufferBuilderError<CmdCopyBufferToImageError>> where
Self: Sized + AddCommand<CmdCopyBufferToImage<B::Access, I::Access>, Out = O>,
B: Buffer,
I: Image,
self,
buffer: B,
image: I
) -> Result<O, CommandBufferBuilderError<CmdCopyBufferToImageError>> where
Self: Sized + AddCommand<CmdCopyBufferToImage<B::Access, I::Access>, Out = O>,
B: Buffer,
I: Image,
Adds a command that copies the content of a buffer to an image. Read more
fn copy_buffer_to_image_dimensions<B, I, O>(
self,
buffer: B,
image: I,
offset: [u32; 3],
size: [u32; 3],
first_layer: u32,
num_layers: u32,
mipmap: u32
) -> Result<O, CommandBufferBuilderError<CmdCopyBufferToImageError>> where
Self: Sized + AddCommand<CmdCopyBufferToImage<B::Access, I::Access>, Out = O>,
B: Buffer,
I: Image,
self,
buffer: B,
image: I,
offset: [u32; 3],
size: [u32; 3],
first_layer: u32,
num_layers: u32,
mipmap: u32
) -> Result<O, CommandBufferBuilderError<CmdCopyBufferToImageError>> where
Self: Sized + AddCommand<CmdCopyBufferToImage<B::Access, I::Access>, Out = O>,
B: Buffer,
I: Image,
Same as copy_buffer_to_image
but lets you specify a range for the destination image.
fn begin_render_pass<F, C, O>(
self,
framebuffer: F,
secondary: bool,
clear_values: C
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdBeginRenderPass<Arc<RenderPassAbstract + Send + Sync>, F>, Out = O>,
F: FramebufferAbstract + RenderPassDescClearValues<C>,
self,
framebuffer: F,
secondary: bool,
clear_values: C
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdBeginRenderPass<Arc<RenderPassAbstract + Send + Sync>, F>, Out = O>,
F: FramebufferAbstract + RenderPassDescClearValues<C>,
Adds a command that starts a render pass. Read more
fn next_subpass<O>(self, secondary: bool) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdNextSubpass, Out = O>,
Self: Sized + AddCommand<CmdNextSubpass, Out = O>,
Adds a command that jumps to the next subpass of the current render pass.
fn end_render_pass<O>(self) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdEndRenderPass, Out = O>,
Self: Sized + AddCommand<CmdEndRenderPass, Out = O>,
Adds a command that ends the current render pass. Read more
fn draw<P, S, Pc, V, O>(
self,
pipeline: P,
dynamic: DynamicState,
vertices: V,
sets: S,
push_constants: Pc
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdDraw<V, P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: VertexSource<V> + GraphicsPipelineAbstract + Clone,
self,
pipeline: P,
dynamic: DynamicState,
vertices: V,
sets: S,
push_constants: Pc
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdDraw<V, P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: VertexSource<V> + GraphicsPipelineAbstract + Clone,
Adds a command that draws. Read more
fn draw_indexed<P, S, Pc, V, Ib, I, O>(
self,
pipeline: P,
dynamic: DynamicState,
vertices: V,
index_buffer: Ib,
sets: S,
push_constants: Pc
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdDrawIndexed<V, Ib::Access, P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: VertexSource<V> + GraphicsPipelineAbstract + Clone,
Ib: Buffer,
Ib::Access: TypedBufferAccess<Content = [I]>,
I: Index + 'static,
self,
pipeline: P,
dynamic: DynamicState,
vertices: V,
index_buffer: Ib,
sets: S,
push_constants: Pc
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdDrawIndexed<V, Ib::Access, P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: VertexSource<V> + GraphicsPipelineAbstract + Clone,
Ib: Buffer,
Ib::Access: TypedBufferAccess<Content = [I]>,
I: Index + 'static,
Adds a command that draws indexed vertices. Read more
fn draw_indirect<P, S, Pc, V, B, O>(
self,
pipeline: P,
dynamic: DynamicState,
vertices: V,
indirect_buffer: B,
sets: S,
push_constants: Pc
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdDrawIndirect<V, B::Access, P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: VertexSource<V> + GraphicsPipelineAbstract + Clone,
B: Buffer,
B::Access: TypedBufferAccess<Content = [DrawIndirectCommand]>,
self,
pipeline: P,
dynamic: DynamicState,
vertices: V,
indirect_buffer: B,
sets: S,
push_constants: Pc
) -> Result<O, CommandAddError> where
Self: Sized + AddCommand<CmdDrawIndirect<V, B::Access, P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: VertexSource<V> + GraphicsPipelineAbstract + Clone,
B: Buffer,
B::Access: TypedBufferAccess<Content = [DrawIndirectCommand]>,
Adds an indirect draw command. Read more
fn dispatch<P, S, Pc, O>(
self,
dimensions: [u32; 3],
pipeline: P,
sets: S,
push_constants: Pc
) -> Result<O, CommandBufferBuilderError<CmdDispatchError>> where
Self: Sized + AddCommand<CmdDispatch<P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: Clone + ComputePipelineAbstract,
self,
dimensions: [u32; 3],
pipeline: P,
sets: S,
push_constants: Pc
) -> Result<O, CommandBufferBuilderError<CmdDispatchError>> where
Self: Sized + AddCommand<CmdDispatch<P, S, Pc>, Out = O>,
S: DescriptorSetsCollection,
P: Clone + ComputePipelineAbstract,
Executes a compute shader.
fn build(self) -> Result<Self::Out, Self::Err> where
Self: Sized + CommandBufferBuild,
Self: Sized + CommandBufferBuild,
Builds the actual command buffer. Read more
fn supports_graphics(&self) -> bool
Returns true if the pool of the builder supports graphics operations.
fn supports_compute(&self) -> bool
Returns true if the pool of the builder supports compute operations.
impl<P, Rp, F> AddCommand<CmdBeginRenderPass<Rp, F>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBeginRenderPass<Rp, F>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBeginRenderPass<Rp, F>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdBeginRenderPass<Rp, F>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdBeginRenderPass<Rp, F>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, S, Pl> AddCommand<CmdBindDescriptorSets<S, Pl>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindDescriptorSets<S, Pl>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindDescriptorSets<S, Pl>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdBindDescriptorSets<S, Pl>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdBindDescriptorSets<S, Pl>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, B> AddCommand<CmdBindIndexBuffer<B>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindIndexBuffer<B>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindIndexBuffer<B>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdBindIndexBuffer<B>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdBindIndexBuffer<B>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, Pl> AddCommand<CmdBindPipeline<Pl>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindPipeline<Pl>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindPipeline<Pl>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdBindPipeline<Pl>) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, V> AddCommand<CmdBindVertexBuffers<V>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindVertexBuffers<V>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdBindVertexBuffers<V>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdBindVertexBuffers<V>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdBindVertexBuffers<V>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P> AddCommand<CmdClearAttachments> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdClearAttachments, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdClearAttachments, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdClearAttachments) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, S, D> AddCommand<CmdCopyBuffer<S, D>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdCopyBuffer<S, D>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdCopyBuffer<S, D>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdCopyBuffer<S, D>) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, S, D> AddCommand<CmdCopyBufferToImage<S, D>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdCopyBufferToImage<S, D>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdCopyBufferToImage<S, D>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdCopyBufferToImage<S, D>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdCopyBufferToImage<S, D>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P> AddCommand<CmdDrawRaw> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdDrawRaw, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdDrawRaw, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdDrawRaw) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P> AddCommand<CmdDrawIndexedRaw> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdDrawIndexedRaw, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdDrawIndexedRaw, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdDrawIndexedRaw) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, B> AddCommand<CmdDrawIndirectRaw<B>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdDrawIndirectRaw<B>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdDrawIndirectRaw<B>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdDrawIndirectRaw<B>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdDrawIndirectRaw<B>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P> AddCommand<CmdEndRenderPass> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdEndRenderPass, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdEndRenderPass, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdEndRenderPass) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, C> AddCommand<CmdExecuteCommands<C>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdExecuteCommands<C>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdExecuteCommands<C>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdExecuteCommands<C>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdExecuteCommands<C>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, B> AddCommand<CmdFillBuffer<B>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdFillBuffer<B>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdFillBuffer<B>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdFillBuffer<B>) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P> AddCommand<CmdNextSubpass> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdNextSubpass, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdNextSubpass, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdNextSubpass) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, Pc, Pl> AddCommand<CmdPushConstants<Pc, Pl>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdPushConstants<Pc, Pl>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdPushConstants<Pc, Pl>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdPushConstants<Pc, Pl>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdPushConstants<Pc, Pl>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P> AddCommand<CmdSetState> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdSetState, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdSetState, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(self, command: CmdSetState) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more
impl<P, B, D> AddCommand<CmdUpdateBuffer<B, D>> for AutoCommandBufferBuilder<P> where
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdUpdateBuffer<B, D>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
[src]
P: CommandPool,
DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>: AddCommand<CmdUpdateBuffer<B, D>, Out = DeviceCheckLayer<QueueTyCheckLayer<ContextCheckLayer<StateCacheLayer<SubmitSyncBuilderLayer<AutoPipelineBarriersLayer<AbstractStorageLayer<UnsafeCommandBufferBuilder<P>>>>>>>>>,
type Out = AutoCommandBufferBuilder<P>
The new command buffer builder type.
fn add(
self,
command: CmdUpdateBuffer<B, D>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdUpdateBuffer<B, D>
) -> Result<Self::Out, CommandAddError>
Adds the command. This takes ownership of the builder and returns a new builder with the command appended at the end of it. Read more