Struct vulkano::command_buffer::SecondaryGraphicsCommandBufferBuilder [] [src]

pub struct SecondaryGraphicsCommandBufferBuilder<R> {
    // some fields omitted
}

A prototype of a secondary compute command buffer.

Methods

impl<R> SecondaryGraphicsCommandBufferBuilder<R> where R: RenderPass + RenderPassDesc + 'static
[src]

fn raw(pool: &Arc<CommandBufferPool>, subpass: Subpass<R>, framebuffer: Option<&Arc<Framebuffer<R>>>) -> Result<SecondaryGraphicsCommandBufferBuilder<R>, OomError> where R: 'static + Send + Sync

See the docs of new().

fn new(pool: &Arc<CommandBufferPool>, subpass: Subpass<R>, framebuffer: Option<&Arc<Framebuffer<R>>>) -> SecondaryGraphicsCommandBufferBuilder<R> where R: 'static + Send + Sync

Builds a new secondary command buffer and start recording commands in it.

The framebuffer parameter is optional and can be used as an optimisation.

Panic

  • Panicks if the device or host ran out of memory.

fn draw<V, L, Pv, Pl, Rp, Pc>(self, pipeline: &Arc<GraphicsPipeline<Pv, Pl, Rp>>, vertices: V, dynamic: &DynamicState, sets: L, push_constants: &Pc) -> SecondaryGraphicsCommandBufferBuilder<R> where Pv: VertexSource<V> + 'static, Pl: PipelineLayout + 'static + Send + Sync, Rp: RenderPass + RenderPassDesc + 'static + Send + Sync, L: DescriptorSetsCollection + Send + Sync, R: RenderPassCompatible<Rp>, Pc: 'static + Clone + Send + Sync

Calls vkCmdDraw.

fn draw_indexed<'a, V, L, Pv, Pl, Rp, I, Ib, Ibb, Pc>(self, pipeline: &Arc<GraphicsPipeline<Pv, Pl, Rp>>, vertices: V, indices: Ib, dynamic: &DynamicState, sets: L, push_constants: &Pc) -> SecondaryGraphicsCommandBufferBuilder<R> where Pv: 'static + VertexSource<V>, Pl: 'static + PipelineLayout + Send + Sync, Rp: RenderPass + RenderPassDesc + 'static + Send + Sync, Ib: Into<BufferSlice<'a, [I], Ibb>>, I: 'static + Index, Ibb: Buffer + 'static, L: DescriptorSetsCollection + Send + Sync, Pc: 'static + Clone + Send + Sync

Calls vkCmdDrawIndexed.

fn draw_indirect<I, V, Pv, Pl, L, Rp, Pc>(self, buffer: &Arc<I>, pipeline: &Arc<GraphicsPipeline<Pv, Pl, Rp>>, vertices: V, dynamic: &DynamicState, sets: L, push_constants: &Pc) -> SecondaryGraphicsCommandBufferBuilder<R> where Pv: 'static + VertexSource<V>, L: DescriptorSetsCollection + Send + Sync, Pl: 'static + PipelineLayout + Send + Sync, Rp: RenderPass + RenderPassDesc + 'static + Send + Sync, Pc: 'static + Clone + Send + Sync, I: 'static + TypedBuffer<Content=[DrawIndirectCommand]>

Calls vkCmdDrawIndirect.

fn build_raw(self) -> Result<SecondaryGraphicsCommandBuffer<R>, OomError>

See the docs of build().

fn build(self) -> Arc<SecondaryGraphicsCommandBuffer<R>>

Finish recording commands and build the command buffer.

Panic

  • Panicks if the device or host ran out of memory.