Struct vulkano::command_buffer::SecondaryGraphicsCommandBufferBuilder
[−]
[src]
pub struct SecondaryGraphicsCommandBufferBuilder<R, P = Arc<StandardCommandPool>> where P: CommandPool { /* fields omitted */ }
A prototype of a secondary compute command buffer.
Methods
impl<R> SecondaryGraphicsCommandBufferBuilder<R, Arc<StandardCommandPool>> where R: RenderPass + RenderPassDesc + 'static
[src]
fn new(device: &Arc<Device>, queue_family: QueueFamily, subpass: Subpass<R>, framebuffer: Option<&Arc<Framebuffer<R>>>) -> SecondaryGraphicsCommandBufferBuilder<R, Arc<StandardCommandPool>> 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
- Panics if the device or host ran out of memory.
- Panics if the device and queue family do not belong to the same physical device.
impl<R, P> SecondaryGraphicsCommandBufferBuilder<R, P> where R: RenderPass + RenderPassDesc + 'static, P: CommandPool
[src]
fn raw(pool: P, subpass: Subpass<R>, framebuffer: Option<&Arc<Framebuffer<R>>>) -> Result<SecondaryGraphicsCommandBufferBuilder<R, P>, OomError> where R: 'static + Send + Sync
See the docs of new().
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, P> 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, P> 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, P> 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, P>, OomError>
See the docs of build().
fn build(self) -> Arc<SecondaryGraphicsCommandBuffer<R, P>>
Finish recording commands and build the command buffer.
Panic
- Panics if the device or host ran out of memory.