Struct voodoo::CommandBuffer
[−]
[src]
pub struct CommandBuffer { /* fields omitted */ }
Methods
impl CommandBuffer
[src]
fn handle(&self) -> CommandBufferHandle
[src]
Returns this object's handle.
fn device(&self) -> &Device
[src]
Returns a reference to this object's associated device.
fn begin(&self, flags: CommandBufferUsageFlags) -> VdResult<()>
[src]
Starts recording this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkBeginCommandBuffer.html
fn end(&self) -> VdResult<()>
[src]
Finishes recording this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEndCommandBuffer.html
fn reset(&self, flags: CommandBufferResetFlags) -> VdResult<()>
[src]
Resets this command buffer to the initial state.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkResetCommandBuffer.html
fn bind_pipeline<P>(&self, pipeline_bind_point: PipelineBindPoint, pipeline: &P) where
P: Handle<Target = PipelineHandle>,
[src]
P: Handle<Target = PipelineHandle>,
Binds a pipeline object to this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindPipeline.html
fn set_viewport(&self, first_viewport: u32, viewports: &[Viewport])
[src]
Sets the viewport on this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetViewport.html
fn set_scissor(&self, first_scissor: u32, scissors: &[Rect2d])
[src]
Sets the dynamic scissor rectangles on this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetScissor.html
fn set_line_width(&self, line_width: f32)
[src]
Sets the dynamic line width state.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetLineWidth.html
fn set_depth_bias(
&self,
depth_bias_constant_factor: f32,
depth_bias_clamp: f32,
depth_bias_slope_factor: f32
)
[src]
&self,
depth_bias_constant_factor: f32,
depth_bias_clamp: f32,
depth_bias_slope_factor: f32
)
Sets the depth bias dynamic state.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetDepthBias.html
fn set_blend_constants(&self, blend_constants: [f32; 4])
[src]
Sets the values of blend constants.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetBlendConstants.html
fn set_depth_bounds(&self, min_depth_bounds: f32, max_depth_bounds: f32)
[src]
Sets the depth bounds test values for this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetDepthBounds.html
fn set_stencil_compare_mask(
&self,
face_mask: StencilFaceFlags,
compare_mask: u32
)
[src]
&self,
face_mask: StencilFaceFlags,
compare_mask: u32
)
Sets the stencil compare mask dynamic state.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetStencilCompareMask.html
fn set_stencil_write_mask(&self, face_mask: StencilFaceFlags, write_mask: u32)
[src]
Sets the stencil write mask dynamic state
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetStencilWriteMask.html
fn set_stencil_reference(&self, face_mask: StencilFaceFlags, reference: u32)
[src]
Sets the stencil reference dynamic state.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetStencilReference.html
fn bind_descriptor_sets(
&self,
pipeline_bind_point: PipelineBindPoint,
layout: &PipelineLayout,
first_set: u32,
descriptor_sets: &[&DescriptorSet],
dynamic_offsets: &[u32]
)
[src]
&self,
pipeline_bind_point: PipelineBindPoint,
layout: &PipelineLayout,
first_set: u32,
descriptor_sets: &[&DescriptorSet],
dynamic_offsets: &[u32]
)
Binds descriptor sets to this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindDescriptorSets.html
fn bind_index_buffer(&self, buffer: &Buffer, offset: u64, index_type: IndexType)
[src]
Binds an index buffer to this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindIndexBuffer.html
fn bind_vertex_buffers(
&self,
first_binding: u32,
buffers: &[&Buffer],
offsets: &[u64]
)
[src]
&self,
first_binding: u32,
buffers: &[&Buffer],
offsets: &[u64]
)
Binds vertex buffers to this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindVertexBuffers.html
fn draw(
&self,
vertex_count: u32,
instance_count: u32,
first_vertex: u32,
first_instance: u32
)
[src]
&self,
vertex_count: u32,
instance_count: u32,
first_vertex: u32,
first_instance: u32
)
fn draw_indexed(
&self,
index_count: u32,
instance_count: u32,
first_index: u32,
vertex_offset: i32,
first_instance: u32
)
[src]
&self,
index_count: u32,
instance_count: u32,
first_index: u32,
vertex_offset: i32,
first_instance: u32
)
Issues an indexed draw into this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDrawIndexed.html
unsafe fn draw_indirect(
&self,
buffer: &Buffer,
offset: u64,
draw_count: u32,
stride: u32
)
[src]
&self,
buffer: &Buffer,
offset: u64,
draw_count: u32,
stride: u32
)
Issues an indirect draw into this command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDrawIndirect.html
unsafe fn draw_indexed_indirect(
&self,
buffer: &Buffer,
offset: u64,
draw_count: u32,
stride: u32
)
[src]
&self,
buffer: &Buffer,
offset: u64,
draw_count: u32,
stride: u32
)
Performs an indexed indirect draw.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDrawIndexedIndirect.html
fn dispatch(&self, group_count_x: u32, group_count_y: u32, group_count_z: u32)
[src]
Dispatches compute work items.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDispatch.html
unsafe fn dispatch_indirect(&self, buffer: &Buffer, offset: u64)
[src]
Dispatches compute work items using indirect parameters.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDispatchIndirect.html
unsafe fn copy_buffer(
&self,
src_buffer: &Buffer,
dst_buffer: &Buffer,
regions: &[BufferCopy]
)
[src]
&self,
src_buffer: &Buffer,
dst_buffer: &Buffer,
regions: &[BufferCopy]
)
Copies data between buffer regions.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyBuffer.html
unsafe fn copy_image(
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[ImageCopy]
)
[src]
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[ImageCopy]
)
Copies data between images.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyImage.html
unsafe fn blit_image(
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[ImageBlit],
filter: Filter
)
[src]
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[ImageBlit],
filter: Filter
)
Copies regions of an image, potentially performing format conversion.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBlitImage.html
unsafe fn copy_buffer_to_image(
&self,
src_buffer: &Buffer,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[BufferImageCopy]
)
[src]
&self,
src_buffer: &Buffer,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[BufferImageCopy]
)
Copies data from a buffer into an image.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyBufferToImage.html
unsafe fn copy_image_to_buffer(
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_buffer: &Buffer,
regions: &[BufferImageCopy]
)
[src]
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_buffer: &Buffer,
regions: &[BufferImageCopy]
)
Copies image data into a buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyImageToBuffer.html
unsafe fn update_buffer(
&self,
dst_buffer: &Buffer,
dst_offset: u64,
data: &[u8]
)
[src]
&self,
dst_buffer: &Buffer,
dst_offset: u64,
data: &[u8]
)
Updates a buffer's contents from host memory.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdUpdateBuffer.html
unsafe fn fill_buffer(
&self,
dst_buffer: &Buffer,
dst_offset: u64,
size: Option<DeviceSize>,
data: u32
)
[src]
&self,
dst_buffer: &Buffer,
dst_offset: u64,
size: Option<DeviceSize>,
data: u32
)
Fills a region of a buffer with a fixed value.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdFillBuffer.html
unsafe fn clear_color_image(
&self,
image: &Image,
image_layout: ImageLayout,
color: &ClearColorValue,
ranges: &[ImageSubresourceRange]
)
[src]
&self,
image: &Image,
image_layout: ImageLayout,
color: &ClearColorValue,
ranges: &[ImageSubresourceRange]
)
Clears regions of a color image.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdClearColorImage.html
unsafe fn clear_depth_stencil_image(
&self,
image: &Image,
image_layout: ImageLayout,
depth_stencil: &ClearDepthStencilValue,
ranges: &[ImageSubresourceRange]
)
[src]
&self,
image: &Image,
image_layout: ImageLayout,
depth_stencil: &ClearDepthStencilValue,
ranges: &[ImageSubresourceRange]
)
Fills regions of a combined depth/stencil image.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdClearDepthStencilImage.html
fn clear_attachments(
&self,
attachments: &[ClearAttachment],
rects: &[ClearRect]
)
[src]
&self,
attachments: &[ClearAttachment],
rects: &[ClearRect]
)
Clears regions within currently bound framebuffer attachments.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdClearAttachments.html
unsafe fn resolve_image(
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[ImageResolve]
)
[src]
&self,
src_image: &Image,
src_image_layout: ImageLayout,
dst_image: &Image,
dst_image_layout: ImageLayout,
regions: &[ImageResolve]
)
Resolves regions of an image.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdResolveImage.html
fn set_event(&self, event: &Event, stage_mask: PipelineStageFlags)
[src]
Sets an event object to signaled state.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetEvent.html
fn reset_event(&self, event: &Event, stage_mask: PipelineStageFlags)
[src]
Resets an event object to non-signaled state.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdResetEvent.html
fn wait_events(
&self,
events: &[&Event],
src_stage_mask: PipelineStageFlags,
dst_stage_mask: PipelineStageFlags,
memory_barriers: &[MemoryBarrier],
buffer_memory_barriers: &[BufferMemoryBarrier],
image_memory_barriers: &[ImageMemoryBarrier]
)
[src]
&self,
events: &[&Event],
src_stage_mask: PipelineStageFlags,
dst_stage_mask: PipelineStageFlags,
memory_barriers: &[MemoryBarrier],
buffer_memory_barriers: &[BufferMemoryBarrier],
image_memory_barriers: &[ImageMemoryBarrier]
)
Waits for one or more events and insert a set of memory.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdWaitEvents.html
fn pipeline_barrier(
&self,
src_stage_mask: PipelineStageFlags,
dst_stage_mask: PipelineStageFlags,
dependency_flags: DependencyFlags,
memory_barriers: &[MemoryBarrier],
buffer_memory_barriers: &[BufferMemoryBarrier],
image_memory_barriers: &[ImageMemoryBarrier]
)
[src]
&self,
src_stage_mask: PipelineStageFlags,
dst_stage_mask: PipelineStageFlags,
dependency_flags: DependencyFlags,
memory_barriers: &[MemoryBarrier],
buffer_memory_barriers: &[BufferMemoryBarrier],
image_memory_barriers: &[ImageMemoryBarrier]
)
Inserts a memory dependency.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdPipelineBarrier.html
fn begin_query(
&self,
query_pool: &QueryPool,
query: u32,
flags: QueryControlFlags
)
[src]
&self,
query_pool: &QueryPool,
query: u32,
flags: QueryControlFlags
)
fn end_query(&self, query_pool: &QueryPool, query: u32)
[src]
fn reset_query_pool(
&self,
query_pool: &QueryPool,
first_query: u32,
query_count: u32
)
[src]
&self,
query_pool: &QueryPool,
first_query: u32,
query_count: u32
)
Resets queries in a query pool.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdResetQueryPool.html
fn write_timestamp(
&self,
pipeline_stage: PipelineStageFlags,
query_pool: &QueryPool,
query: u32
)
[src]
&self,
pipeline_stage: PipelineStageFlags,
query_pool: &QueryPool,
query: u32
)
Writes a device timestamp into a query object.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdWriteTimestamp.html
unsafe fn copy_query_pool_results(
&self,
query_pool: &QueryPool,
first_query: u32,
query_count: u32,
dst_buffer: &Buffer,
dst_offset: u64,
stride: u64,
flags: QueryResultFlags
)
[src]
&self,
query_pool: &QueryPool,
first_query: u32,
query_count: u32,
dst_buffer: &Buffer,
dst_offset: u64,
stride: u64,
flags: QueryResultFlags
)
Copies the results of queries in a query pool to a buffer object.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyQueryPoolResults.html
fn push_constants(
&self,
layout: &PipelineLayout,
stage_flags: ShaderStageFlags,
offset: u32,
values: &[u8]
)
[src]
&self,
layout: &PipelineLayout,
stage_flags: ShaderStageFlags,
offset: u32,
values: &[u8]
)
Updates the values of push constants.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdPushConstants.html
fn begin_render_pass(
&self,
render_pass_begin: &RenderPassBeginInfo,
contents: SubpassContents
)
[src]
&self,
render_pass_begin: &RenderPassBeginInfo,
contents: SubpassContents
)
Begins a new render pass.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBeginRenderPass.html
fn next_subpass(&self, contents: SubpassContents)
[src]
Transitions to the next subpass of a render pass.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdNextSubpass.html
fn end_render_pass(&self)
[src]
Ends the current render pass.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdEndRenderPass.html
fn execute_commands(&self, command_buffers: &[&CommandBuffer])
[src]
Executes a secondary command buffer from a primary command buffer.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdExecuteCommands.html
fn debug_marker_begin_ext(&self, marker_info: &DebugMarkerMarkerInfoExt)
[src]
Begins a debug marker.
fn debug_marker_end_ext(&self)
[src]
Ends a debug marker.
fn debug_marker_insert_ext(&self, marker_info: &DebugMarkerMarkerInfoExt)
[src]
Inserts a debug marker.
Trait Implementations
impl Debug for CommandBuffer
[src]
impl Clone for CommandBuffer
[src]
fn clone(&self) -> CommandBuffer
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more