Struct vulkano::command_buffer::sys::UnsafeCommandBufferBuilder [] [src]

pub struct UnsafeCommandBufferBuilder<P> { /* fields omitted */ }

Command buffer being built.

You can add commands to an UnsafeCommandBufferBuilder by using the AddCommand trait. The AddCommand<&Cmd> trait is implemented on the UnsafeCommandBufferBuilder for any Cmd that is a raw Vulkan command.

When you are finished adding commands, you can use the CommandBufferBuild trait to turn this builder into an UnsafeCommandBuffer.

Methods

impl<P> UnsafeCommandBufferBuilder<P>
[src]

[src]

Creates a new builder.

Safety

Creating and destroying an unsafe command buffer is not unsafe per se, but the commands that you add to it are unchecked, do not have any synchronization, and are not kept alive.

In other words, it is your job to make sure that the commands you add are valid, that they don't use resources that have been destroyed, and that they do not introduce any race condition.

Note: Some checks are still made with debug_assert!. Do not expect to be able to submit invalid commands.

[src]

Creates a new command buffer builder from an already-allocated command buffer.

Safety

See the new method.

The kind must match how the command buffer was allocated.

[src]

Returns the queue family of the builder.

[src]

Turns the builder into an actual command buffer.

[src]

Calls vkCmdBeginQuery on the builder.

[src]

Calls vkCmdBeginRenderPass on the builder.

[src]

Calls vkCmdBindDescriptorSets on the builder.

Does nothing if the list of descriptor sets is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdBindIndexBuffer on the builder.

[src]

Calls vkCmdBindPipeline on the builder with a compute pipeline.

[src]

Calls vkCmdBindPipeline on the builder with a graphics pipeline.

[src]

Calls vkCmdBindVertexBuffers on the builder.

Does nothing if the list of buffers is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdCopyImage on the builder.

Does nothing if the list of regions is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdBlitImage on the builder.

Does nothing if the list of regions is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdClearColorImage on the builder.

Does nothing if the list of regions is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdCopyBuffer on the builder.

Does nothing if the list of regions is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdCopyBufferToImage on the builder.

Does nothing if the list of regions is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdCopyImageToBuffer on the builder.

Does nothing if the list of regions is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdCopyQueryPoolResults on the builder.

[src]

Calls vkCmdDispatch on the builder.

[src]

Calls vkCmdDispatchIndirect on the builder.

[src]

Calls vkCmdDraw on the builder.

[src]

Calls vkCmdDrawIndexed on the builder.

[src]

Calls vkCmdDrawIndirect on the builder.

[src]

Calls vkCmdDrawIndexedIndirect on the builder.

[src]

Calls vkCmdEndQuery on the builder.

[src]

Calls vkCmdEndRenderPass on the builder.

[src]

Calls vkCmdExecuteCommands on the builder.

Does nothing if the list of command buffers is empty, as it would be a no-op and isn't a valid usage of the command anyway.

[src]

Calls vkCmdFillBuffer on the builder.

[src]

Calls vkCmdNextSubpass on the builder.

[src]

[src]

Calls vkCmdPushConstants on the builder.

[src]

Calls vkCmdResetEvent on the builder.

[src]

Calls vkCmdResetQueryPool on the builder.

[src]

Calls vkCmdSetBlendConstants on the builder.

[src]

Calls vkCmdSetDepthBias on the builder.

[src]

Calls vkCmdSetDepthBounds on the builder.

[src]

Calls vkCmdSetEvent on the builder.

[src]

Calls vkCmdSetLineWidth on the builder.

[src]

Calls vkCmdSetScissor on the builder.

If the list is empty then the command is automatically ignored.

[src]

Calls vkCmdSetViewport on the builder.

If the list is empty then the command is automatically ignored.

[src]

Calls vkCmdUpdateBuffer on the builder.

[src]

Calls vkCmdWriteTimestamp on the builder.

[src]

Calls vkCmdDebugMarkerBeginEXT on the builder.

Panics

Requires the VK_EXT_debug_marker device extension to be loaded.

Safety

The command pool that this command buffer was allocated from must support graphics or compute operations

[src]

Calls vkCmdDebugMarkerEndEXT on the builder.

Panics

Requires the VK_EXT_debug_marker device extension to be loaded.

Safety

There must be an outstanding vkCmdDebugMarkerBeginEXT command prior to the vkCmdDebugMarkerEndEXT on the queue that this command buffer is submitted to. If the matching vkCmdDebugMarkerBeginEXT command was in a secondary command buffer, the vkCmdDebugMarkerEndEXT must be in the same command buffer.

[src]

Calls vkCmdDebugMarkerInsertEXT on the builder.

Panics

Requires the VK_EXT_debug_marker device extension to be loaded.

Safety

The command pool that this command buffer was allocated from must support graphics or compute operations

Trait Implementations

impl<P> Debug for UnsafeCommandBufferBuilder<P>
[src]

[src]

Formats the value using the given formatter. Read more

impl<P> DeviceOwned for UnsafeCommandBufferBuilder<P>
[src]

[src]

Returns the device that owns Self.

impl<P> VulkanObject for UnsafeCommandBufferBuilder<P>
[src]

The type of the object.

TYPE: DebugReportObjectTypeEXT = vk::DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT

The DebugReportObjectTypeEXT of the internal Vulkan handle.

[src]

Returns a reference to the object.

Auto Trait Implementations

impl<P> Send for UnsafeCommandBufferBuilder<P> where
    P: Send

impl<P> Sync for UnsafeCommandBufferBuilder<P> where
    P: Sync