Struct vulkano::command_buffer::cb::QueueTyCheckLayer
[−]
[src]
pub struct QueueTyCheckLayer<I> { /* fields omitted */ }
Layer around a command buffer builder that checks whether the commands added to it match the type of the queue family of the underlying builder.
Commands that perform graphical or compute operations can only be executed on queue families that support graphical or compute operations. This is what this layer verifies.
Methods
impl<I> QueueTyCheckLayer<I>
[src]
fn new(inner: I) -> QueueTyCheckLayer<I>
Builds a new QueueTyCheckLayer
.
fn into_inner(self) -> I
Destroys the layer and returns the underlying command buffer.
Trait Implementations
impl<I> DeviceOwned for QueueTyCheckLayer<I> where
I: DeviceOwned,
[src]
I: DeviceOwned,
impl<I> CommandBufferBuilder for QueueTyCheckLayer<I> where
I: CommandBufferBuilder,
[src]
I: CommandBufferBuilder,
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<I, O, E> CommandBufferBuild for QueueTyCheckLayer<I> where
I: CommandBufferBuild<Out = O, Err = E>,
[src]
I: CommandBufferBuild<Out = O, Err = E>,
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<'a, I, O, S, D> AddCommand<CmdCopyBuffer<S, D>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdCopyBuffer<S, D>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdCopyBuffer<S, D>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, S, D> AddCommand<CmdCopyBufferToImage<S, D>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdCopyBufferToImage<S, D>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdCopyBufferToImage<S, D>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, S, D> AddCommand<CmdCopyImage<S, D>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdCopyImage<S, D>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdCopyImage<S, D>, Out = O>,
type Out = QueueTyCheckLayer<O>
The new command buffer builder type.
fn add(self, command: CmdCopyImage<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<'a, I, O, B> AddCommand<CmdFillBuffer<B>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdFillBuffer<B>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdFillBuffer<B>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, B, D> AddCommand<CmdUpdateBuffer<B, D>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdUpdateBuffer<B, D>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdUpdateBuffer<B, D>, Out = O>,
type Out = QueueTyCheckLayer<O>
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
impl<'a, I, O, Rp, F> AddCommand<CmdBeginRenderPass<Rp, F>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdBeginRenderPass<Rp, F>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdBeginRenderPass<Rp, F>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, B> AddCommand<CmdBindIndexBuffer<B>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdBindIndexBuffer<B>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdBindIndexBuffer<B>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, V> AddCommand<CmdBindVertexBuffers<V>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdBindVertexBuffers<V>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdBindVertexBuffers<V>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, S, D> AddCommand<CmdBlitImage<S, D>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdBlitImage<S, D>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdBlitImage<S, D>, Out = O>,
type Out = QueueTyCheckLayer<O>
The new command buffer builder type.
fn add(self, command: CmdBlitImage<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<'a, I, O> AddCommand<CmdClearAttachments> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdClearAttachments, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdClearAttachments, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O> AddCommand<CmdDrawIndexedRaw> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdDrawIndexedRaw, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdDrawIndexedRaw, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, B> AddCommand<CmdDrawIndirectRaw<B>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdDrawIndirectRaw<B>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdDrawIndirectRaw<B>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O> AddCommand<CmdDrawRaw> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdDrawRaw, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdDrawRaw, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O> AddCommand<CmdEndRenderPass> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdEndRenderPass, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdEndRenderPass, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O> AddCommand<CmdNextSubpass> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdNextSubpass, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdNextSubpass, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O, S, D> AddCommand<CmdResolveImage<S, D>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdResolveImage<S, D>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdResolveImage<S, D>, Out = O>,
type Out = QueueTyCheckLayer<O>
The new command buffer builder type.
fn add(
self,
command: CmdResolveImage<S, D>
) -> Result<Self::Out, CommandAddError>
self,
command: CmdResolveImage<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<'a, I, O> AddCommand<CmdDispatchRaw> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdDispatchRaw, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdDispatchRaw, Out = O>,
type Out = QueueTyCheckLayer<O>
The new command buffer builder type.
fn add(self, command: CmdDispatchRaw) -> 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<'a, I, O, Pc, Pl> AddCommand<CmdPushConstants<Pc, Pl>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdPushConstants<Pc, Pl>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdPushConstants<Pc, Pl>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<'a, I, O> AddCommand<CmdSetEvent> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdSetEvent, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdSetEvent, Out = O>,
type Out = QueueTyCheckLayer<O>
The new command buffer builder type.
fn add(self, command: CmdSetEvent) -> 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<'a, I, O> AddCommand<CmdSetState> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdSetState, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdSetState, Out = O>,
type Out = QueueTyCheckLayer<O>
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<I, O, Pl> AddCommand<CmdBindPipeline<Pl>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdBindPipeline<Pl>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdBindPipeline<Pl>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<I, O, S, Pl> AddCommand<CmdBindDescriptorSets<S, Pl>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdBindDescriptorSets<S, Pl>, Out = O>,
[src]
I: CommandBufferBuilder + AddCommand<CmdBindDescriptorSets<S, Pl>, Out = O>,
type Out = QueueTyCheckLayer<O>
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<I, O, C> AddCommand<CmdExecuteCommands<C>> for QueueTyCheckLayer<I> where
I: CommandBufferBuilder + AddCommand<CmdExecuteCommands<C>, Out = O>,
C: CommandBuffer,
[src]
I: CommandBufferBuilder + AddCommand<CmdExecuteCommands<C>, Out = O>,
C: CommandBuffer,
type Out = QueueTyCheckLayer<O>
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