pub struct UnsafeCommandBufferBuilder { /* private fields */ }
Expand description

Command buffer being built.

Safety

  • All submitted commands must be valid and follow the requirements of the Vulkan specification.
  • Any resources used by submitted commands must outlive the returned builder and its created command buffer. They must be protected against data races through manual synchronization.

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

Implementations

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.

Calls vkCmdBindIndexBuffer on the builder.

Calls vkCmdBindPipeline on the builder with a compute pipeline.

Calls vkCmdBindPipeline on the builder with a graphics pipeline.

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.

Calls vkCmdPushConstants on the builder.

Calls vkCmdPushDescriptorSetKHR on the builder.

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

Calls vkCmdBeginDebugUtilsLabelEXT on the builder.

Safety

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

Calls vkCmdEndDebugUtilsLabelEXT on the builder.

Safety

There must be an outstanding vkCmdBeginDebugUtilsLabelEXT command prior to the vkQueueEndDebugUtilsLabelEXT on the queue tha CommandBuffer is submitted to.

Calls vkCmdInsertDebugUtilsLabelEXT on the builder.

Safety

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

Calls vkCmdSetBlendConstants on the builder.

Calls vkCmdSetColorWriteEnableEXT on the builder.

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

Calls vkCmdSetCullModeEXT on the builder.

Calls vkCmdSetDepthBias on the builder.

Calls vkCmdSetDepthBiasEnableEXT on the builder.

Calls vkCmdSetDepthBounds on the builder.

Calls vkCmdSetDepthBoundsTestEnableEXT on the builder.

Calls vkCmdSetDepthCompareOpEXT on the builder.

Calls vkCmdSetDepthTestEnableEXT on the builder.

Calls vkCmdSetDepthWriteEnableEXT on the builder.

Calls vkCmdSetDiscardRectangleEXT on the builder.

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

Calls vkCmdSetFrontFaceEXT on the builder.

Calls vkCmdSetLineStippleEXT on the builder.

Calls vkCmdSetLineWidth on the builder.

Calls vkCmdSetLogicOpEXT on the builder.

Calls vkCmdSetPatchControlPointsEXT on the builder.

Calls vkCmdSetPrimitiveRestartEnableEXT on the builder.

Calls vkCmdSetPrimitiveTopologyEXT on the builder.

Calls vkCmdSetRasterizerDiscardEnableEXT on the builder.

Calls vkCmdSetStencilCompareMask on the builder.

Calls vkCmdSetStencilOpEXT on the builder.

Calls vkCmdSetStencilReference on the builder.

Calls vkCmdSetStencilTestEnableEXT on the builder.

Calls vkCmdSetStencilWriteMask on the builder.

Calls vkCmdSetScissor on the builder.

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

Calls vkCmdSetScissorWithCountEXT on the builder.

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

Calls vkCmdSetViewport on the builder.

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

Calls vkCmdSetViewportWithCountEXT on the builder.

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

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.

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.

Calls vkCmdClearDepthStencilImage 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.

Calls vkCmdResolveImage 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.

Calls vkCmdDispatch on the builder.

Calls vkCmdDispatchIndirect on the builder.

Calls vkCmdDraw on the builder.

Calls vkCmdDrawIndexed on the builder.

Calls vkCmdDrawIndirect on the builder.

Calls vkCmdDrawIndexedIndirect on the builder.

Calls vkCmdBeginQuery on the builder.

Calls vkCmdEndQuery on the builder.

Calls vkCmdWriteTimestamp on the builder.

Calls vkCmdCopyQueryPoolResults on the builder.

Calls vkCmdResetQueryPool on the builder.

Calls vkCmdBeginRenderPass on the builder.

Calls vkCmdNextSubpass on the builder.

Calls vkCmdEndRenderPass on the builder.

Calls vkCmdBeginRendering on the builder.

Calls vkCmdEndRendering on the builder.

Calls vkCmdClearAttachments on the builder.

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

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.

Calls vkCmdSetEvent on the builder.

Calls vkCmdWaitEvents on the builder.

Calls vkCmdResetEvent on the builder.

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.

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.

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.

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.

Calls vkCmdFillBuffer on the builder.

Calls vkCmdUpdateBuffer on the builder.

Creates a new builder, for recording commands.

Safety
  • pool_alloc must outlive the returned builder and its created command buffer.
  • kind must match how pool_alloc was created.

Turns the builder into an actual command buffer.

Trait Implementations

Formats the value using the given formatter. Read more
Returns the device that owns Self.
The type of the object.
Returns the raw Vulkan handle of the object.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.