Interface VulkanCommandBufferType
- All Superinterfaces:
AutoCloseable, VulkanHandleDispatchableType, VulkanHandleType
- All Known Implementing Classes:
VulkanLWJGLCommandBuffer
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidBegin a command buffer.default voidBegin a command buffer.default voidBegin a command buffer.voidbeginQuery(VulkanQueryPoolType pool, int query, Set<VulkanQueryControlFlag> flags) Begin a query.voidbeginRendering(VulkanRenderingInfo renderingInfo) Begin dynamic rendering.voidbeginRenderPass(VulkanRenderPassBeginInfo info, VulkanSubpassContents contents) Specify how commands in the first subpass of a render pass are provided.voidbindDescriptorSets(VulkanPipelineBindPoint pipeline_bind_point, VulkanPipelineLayoutType layout, int first_set, List<VulkanDescriptorSetType> descriptor_sets, List<Integer> dynamic_offsets) Bind descriptor sets to a command buffer.voidbindIndexBuffer(VulkanBufferType buffer, long offset, VulkanIndexType index_type) Bind index buffer to a command buffer.voidbindPipeline(VulkanPipelineBindPoint bind_point, VulkanPipelineType pipeline) Bind a rendering pipeline.voidbindVertexBuffers(int first_binding, int binding_count, List<VulkanBufferType> buffers, List<Long> offsets) Bind vertex buffers to a command buffer.default voidblitImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, VulkanImageBlit region, VulkanFilter filter) Copy regions of an image, potentially performing format conversion.voidblitImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, List<VulkanImageBlit> regions, VulkanFilter filter) Copy regions of an image, potentially performing format conversion.default voidclearAttachments(VulkanClearAttachment attachment, VulkanClearRectangle rectangle) Clear regions within bound framebuffer attachments.default voidclearAttachments(VulkanClearAttachment attachment, List<VulkanClearRectangle> rectangles) Clear regions within bound framebuffer attachments.default voidclearAttachments(List<VulkanClearAttachment> attachment, VulkanClearRectangle rectangle) Clear regions within bound framebuffer attachments.voidclearAttachments(List<VulkanClearAttachment> attachments, List<VulkanClearRectangle> rectangles) Clear regions within bound framebuffer attachments.voidclearColorImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueType.VulkanClearValueColorType color, List<VulkanImageSubresourceRange> ranges) Clear regions of a color image.voidclearDepthStencilImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueDepthStencil depth_stencil, List<VulkanImageSubresourceRange> ranges) Clear regions of a depth stencil image.voidcopyBuffer(VulkanBufferType source, VulkanBufferType target, List<VulkanBufferCopy> regions) Copy data between buffer regions.voidcopyBufferToImage(VulkanBufferType source_buffer, VulkanImageType target_image, VulkanImageLayout target_image_layout, List<VulkanBufferImageCopy> regions) Copy data from a buffer to an image.default voidcopyImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, VulkanImageCopy region) Copy regions of an image, potentially performing format conversion.voidcopyImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, List<VulkanImageCopy> regions) Copy regions of an image, potentially performing format conversion.voidcopyImageToBuffer(VulkanImageType source_image, VulkanImageLayout source_layout, VulkanBufferType target_buffer, List<VulkanBufferImageCopy> regions) Copy data from an image to a buffer.voiddispatch(int group_count_x, int group_count_y, int group_count_z) Dispatch compute work items.voiddraw(int vertex_count, int instance_count, int first_vertex, int first_instance) Draw primitives.voiddrawIndexed(int vertex_count, int instance_count, int first_vertex, int vertex_offset, int first_instance) Draw primitives using an index buffer.voiddrawIndexedIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride) Draw primitives indirectly.voiddrawIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride) Draw primitives indirectly.voidEnd a command buffer.voidendQuery(VulkanQueryPoolType pool, int query) End a query.voidEnd dynamic rendering.voidEnd a render pass.voidexecuteCommands(List<VulkanCommandBufferType> commandBuffers) Execute a secondary command buffer from a primary command buffer.voidfillBuffer(VulkanBufferType buffer, long offset, long size, int data) Fill a region of a buffer with a fixed value.voidnextSubpass(VulkanSubpassContents contents) Transition to the next subpass of a render pass.voidInsert a memory dependency.voidreset(Set<VulkanCommandBufferResetFlag> flags) Reset a command buffer to the initial state.voidresetEvent(VulkanEventType event, Set<VulkanPipelineStageFlag> mask) Reset an event object to non-signaled state.voidresetQueryPool(VulkanQueryPoolType pool, int first_query, int query_count) Reset a query pool.voidsetBlendConstants(VulkanBlendConstants constants) Set the values of blend constants.voidsetDepthBias(float depth_bias_constant_factor, float depth_bias_clamp, float depth_bias_slope_factor) Set the depth bias dynamic state.voidsetDepthBounds(float min_depth_bounds, float max_depth_bounds) Set the depth bounds test values for a command buffer.voidsetEvent(VulkanEventType event, VulkanDependencyInfo info) Set an event object to signaled state.voidsetLineWidth(float width) Set the dynamic line width state.voidsetScissor(int first_scissor, List<VulkanRectangle2D> rectangles) Set the dynamic scissor rectangles on a command buffer.voidsetStencilCompareMask(Set<VulkanStencilFaceFlag> face_mask, int mask) Set the stencil compare mask.voidsetStencilReference(Set<VulkanStencilFaceFlag> face_mask, int reference) Set the stencil reference.voidsetStencilWriteMask(Set<VulkanStencilFaceFlag> face_mask, int mask) Set the stencil write mask.voidsetViewport(int first_viewport, List<VulkanViewport> viewports) Set the viewport on a command buffer.voidwaitEvents(List<VulkanEventType> events, List<VulkanDependencyInfo> dependencyInfos) Wait for one or more events and insert a set of memory barriers.voidwriteTimestamp(VulkanPipelineStageFlag stage, VulkanQueryPoolType pool, int query_index) Write a device timestamp into a query object.Methods inherited from interface VulkanHandleType
close, isClosed
-
Method Details
-
beginCommandBuffer
Begin a command buffer.- Parameters:
info- The begin info- Throws:
VulkanException- On errors
-
beginCommandBuffer
Begin a command buffer.- Parameters:
flags- The usage flags- Throws:
VulkanException- On errors
-
beginCommandBuffer
Begin a command buffer.- Parameters:
flags- The usage flags- Throws:
VulkanException- On errors
-
beginQuery
void beginQuery(VulkanQueryPoolType pool, int query, Set<VulkanQueryControlFlag> flags) throws VulkanException Begin a query.- Parameters:
pool- The query poolquery- The query indexflags- Control flags for the query- Throws:
VulkanException- On errors
-
endQuery
End a query.- Parameters:
pool- The query poolquery- The query index- Throws:
VulkanException- On errors
-
beginRenderPass
void beginRenderPass(VulkanRenderPassBeginInfo info, VulkanSubpassContents contents) throws VulkanException Specify how commands in the first subpass of a render pass are provided.- Parameters:
info- The begin infocontents- Specifies how the commands in the first subpass will be provided.- Throws:
VulkanException- On errors
-
bindPipeline
void bindPipeline(VulkanPipelineBindPoint bind_point, VulkanPipelineType pipeline) throws VulkanException Bind a rendering pipeline.- Parameters:
bind_point- The bind pointpipeline- The pipeline- Throws:
VulkanException- On errors
-
bindVertexBuffers
void bindVertexBuffers(int first_binding, int binding_count, List<VulkanBufferType> buffers, List<Long> offsets) throws VulkanException Bind vertex buffers to a command buffer.- Parameters:
first_binding- The index of the first vertex input binding whose state is updated by the commandbinding_count- The number of vertex input bindings whose state is updated by the commandbuffers- An array of buffer handlesoffsets- An array of buffer offsets- Throws:
VulkanException- On errors
-
bindIndexBuffer
void bindIndexBuffer(VulkanBufferType buffer, long offset, VulkanIndexType index_type) throws VulkanException Bind index buffer to a command buffer.- Parameters:
buffer- The index bufferoffset- The starting offset in bytes within buffer used in index buffer address calculationsindex_type- The type of indices- Throws:
VulkanException- On errors
-
bindDescriptorSets
void bindDescriptorSets(VulkanPipelineBindPoint pipeline_bind_point, VulkanPipelineLayoutType layout, int first_set, List<VulkanDescriptorSetType> descriptor_sets, List<Integer> dynamic_offsets) throws VulkanException Bind descriptor sets to a command buffer.- Parameters:
pipeline_bind_point- The pipeline bind pointlayout- The pipeline layoutfirst_set- The set number of the first descriptor set to be bounddescriptor_sets- The descriptor setsdynamic_offsets- An array of dynamic offsets- Throws:
VulkanException- On errors
-
blitImage
void blitImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, List<VulkanImageBlit> regions, VulkanFilter filter) throws VulkanException Copy regions of an image, potentially performing format conversion.- Parameters:
source_image- The source imagesource_image_layout- The layout of the source imagetarget_image- The target imagetarget_image_layout- The target image layoutregions- The regions that will be used to blitfilter- The filter to apply if the blits require scaling- Throws:
VulkanException- On errors
-
blitImage
default void blitImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, VulkanImageBlit region, VulkanFilter filter) throws VulkanException Copy regions of an image, potentially performing format conversion.- Parameters:
source_image- The source imagesource_image_layout- The layout of the source imagetarget_image- The target imagetarget_image_layout- The target image layoutregion- The regions that will be used to blitfilter- The filter to apply if the blits require scaling- Throws:
VulkanException- On errors
-
copyBuffer
void copyBuffer(VulkanBufferType source, VulkanBufferType target, List<VulkanBufferCopy> regions) throws VulkanException Copy data between buffer regions.- Parameters:
source- The source buffertarget- The target bufferregions- The list of regions to be copied- Throws:
VulkanException- On errors
-
copyImageToBuffer
void copyImageToBuffer(VulkanImageType source_image, VulkanImageLayout source_layout, VulkanBufferType target_buffer, List<VulkanBufferImageCopy> regions) throws VulkanException Copy data from an image to a buffer.- Parameters:
source_image- The source imagesource_layout- The source layouttarget_buffer- The target bufferregions- The list of regions to be copied- Throws:
VulkanException- On errors
-
copyBufferToImage
void copyBufferToImage(VulkanBufferType source_buffer, VulkanImageType target_image, VulkanImageLayout target_image_layout, List<VulkanBufferImageCopy> regions) throws VulkanException Copy data from a buffer to an image.- Parameters:
source_buffer- The source buffertarget_image- The target imagetarget_image_layout- The target image layoutregions- The list of regions to be copied- Throws:
VulkanException- On errors
-
copyImage
void copyImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, List<VulkanImageCopy> regions) throws VulkanException Copy regions of an image, potentially performing format conversion.- Parameters:
source_image- The source imagesource_image_layout- The layout of the source imagetarget_image- The target imagetarget_image_layout- The target image layoutregions- The regions that will be used to copy- Throws:
VulkanException- On errors
-
copyImage
default void copyImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, VulkanImageCopy region) throws VulkanException Copy regions of an image, potentially performing format conversion.- Parameters:
source_image- The source imagesource_image_layout- The layout of the source imagetarget_image- The target imagetarget_image_layout- The target image layoutregion- The regions that will be used to copy- Throws:
VulkanException- On errors
-
clearAttachments
void clearAttachments(List<VulkanClearAttachment> attachments, List<VulkanClearRectangle> rectangles) throws VulkanException Clear regions within bound framebuffer attachments.- Parameters:
attachments- The attachments to clear and the clear values to userectangles- An array of structures defining regions within each selected attachment to clear- Throws:
VulkanException- On errors
-
clearAttachments
default void clearAttachments(VulkanClearAttachment attachment, VulkanClearRectangle rectangle) throws VulkanException Clear regions within bound framebuffer attachments.- Parameters:
attachment- The attachment to clear and the clear values to userectangle- A structure defining a region within each selected attachment to clear- Throws:
VulkanException- On errors
-
clearAttachments
default void clearAttachments(VulkanClearAttachment attachment, List<VulkanClearRectangle> rectangles) throws VulkanException Clear regions within bound framebuffer attachments.- Parameters:
attachment- The attachment to clear and the clear values to userectangles- An array of structures defining regions within each selected attachment to clear- Throws:
VulkanException- On errors
-
clearAttachments
default void clearAttachments(List<VulkanClearAttachment> attachment, VulkanClearRectangle rectangle) throws VulkanException Clear regions within bound framebuffer attachments.- Parameters:
attachment- The attachment to clear and the clear values to userectangle- A structure defining a region within each selected attachment to clear- Throws:
VulkanException- On errors
-
clearColorImage
void clearColorImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueType.VulkanClearValueColorType color, List<VulkanImageSubresourceRange> ranges) throws VulkanException Clear regions of a color image.- Parameters:
image- The imageimage_layout- The image layoutcolor- The color valueranges- The image subresource ranges- Throws:
VulkanException- On errors
-
clearDepthStencilImage
void clearDepthStencilImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueDepthStencil depth_stencil, List<VulkanImageSubresourceRange> ranges) throws VulkanException Clear regions of a depth stencil image.- Parameters:
image- The imageimage_layout- The image layoutdepth_stencil- The depth stencil valueranges- The image subresource ranges- Throws:
VulkanException- On errors
-
dispatch
Dispatch compute work items.- Parameters:
group_count_x- The number of local workgroups to dispatch in the X dimension.group_count_y- The number of local workgroups to dispatch in the Y dimension.group_count_z- The number of local workgroups to dispatch in the Z dimension.- Throws:
VulkanException- On errors
-
draw
void draw(int vertex_count, int instance_count, int first_vertex, int first_instance) throws VulkanException Draw primitives.- Parameters:
vertex_count- The number of vertices to draw.instance_count- The number of instances to draw.first_vertex- The index of the first vertex to draw.first_instance- The instance ID of the first instance to draw.- Throws:
VulkanException- On errors
-
drawIndexed
void drawIndexed(int vertex_count, int instance_count, int first_vertex, int vertex_offset, int first_instance) throws VulkanException Draw primitives using an index buffer.- Parameters:
vertex_count- The number of vertices to draw.instance_count- The number of instances to draw.first_vertex- The index of the first vertex to draw.vertex_offset- The value added to the vertex index before indexing into the vertex buffer.first_instance- The instance ID of the first instance to draw.- Throws:
VulkanException- On errors
-
drawIndirect
void drawIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride) throws VulkanException Draw primitives indirectly.- Parameters:
buffer- The buffer containing draw parameters.offset- The byte offset into buffer where parameters begin.draw_count- The number of draws to execute, and can be zero.stride- The byte stride between successive sets of draw parameters.- Throws:
VulkanException- On errors
-
drawIndexedIndirect
void drawIndexedIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride) throws VulkanException Draw primitives indirectly.- Parameters:
buffer- The buffer containing draw parameters.offset- The byte offset into buffer where parameters begin.draw_count- The number of draws to execute, and can be zero.stride- The byte stride between successive sets of draw parameters.- Throws:
VulkanException- On errors
-
executeCommands
Execute a secondary command buffer from a primary command buffer.- Parameters:
commandBuffers- The buffers to be executed- Throws:
VulkanException- On errors
-
fillBuffer
Fill a region of a buffer with a fixed value.- Parameters:
buffer- The buffer to be filled.offset- The byte offset into the buffer at which to start filling, and must be a multiple of 4.size- The number of bytes to fill, and must be either a multiple of 4, or VK_WHOLE_SIZE to fill the range from offset to the end of the buffer. If VK_WHOLE_SIZE is used and the remaining size of the buffer is not a multiple of 4, then the nearest smaller multiple is used.data- The 4-byte word written repeatedly to the buffer to fill size bytes of data. The data word is written to memory according to the host endianness.- Throws:
VulkanException- On errors
-
endRenderPass
-
pipelineBarrier
Insert a memory dependency.- Parameters:
info- The dependency info- Throws:
VulkanException- On errors
-
nextSubpass
Transition to the next subpass of a render pass.- Parameters:
contents- Specifies how the commands in the next subpass will be provided, in the same fashion as the corresponding parameter of vkCmdBeginRenderPass.- Throws:
VulkanException- On errors
-
setLineWidth
Set the dynamic line width state.- Parameters:
width- The width of rasterized line segments.- Throws:
VulkanException- On errors
-
setDepthBias
void setDepthBias(float depth_bias_constant_factor, float depth_bias_clamp, float depth_bias_slope_factor) throws VulkanException Set the depth bias dynamic state.- Parameters:
depth_bias_constant_factor- A scalar factor controlling the constant depth value added to each fragment.depth_bias_clamp- The maximum (or minimum) depth bias of a fragment.depth_bias_slope_factor- A scalar factor applied to a fragment’s slope in depth bias calculations.- Throws:
VulkanException- On errors
-
setDepthBounds
Set the depth bounds test values for a command buffer.- Parameters:
min_depth_bounds- The lower bound of the range of depth values used in the depth bounds test.max_depth_bounds- The upper bound of the range of depth values used in the depth bounds test.- Throws:
VulkanException- On errors
-
setBlendConstants
Set the values of blend constants.- Parameters:
constants- The R, G, B, and A components of the blend constant color used in blending, depending on the blend factor.- Throws:
VulkanException- On errors
-
setStencilReference
void setStencilReference(Set<VulkanStencilFaceFlag> face_mask, int reference) throws VulkanException Set the stencil reference.- Parameters:
face_mask- A set of flags specifying the set of stencil state for which to update the reference value.reference- The new value to use as the stencil reference value.- Throws:
VulkanException- On errors
-
setStencilCompareMask
Set the stencil compare mask.- Parameters:
face_mask- A set of flags specifying the set of stencil state for which to update the reference value.mask- The new value to use as the stencil compare mask value.- Throws:
VulkanException- On errors
-
setStencilWriteMask
Set the stencil write mask.- Parameters:
face_mask- A set of flags specifying the set of stencil state for which to update the reference value.mask- The new value to use as the stencil write mask value.- Throws:
VulkanException- On errors
-
setScissor
Set the dynamic scissor rectangles on a command buffer.- Parameters:
first_scissor- The index of the first scissor whose state is updated by the command.rectangles- An array of structures defining scissor rectangles.- Throws:
VulkanException- On errors
-
setViewport
Set the viewport on a command buffer.- Parameters:
first_viewport- The index of the first viewport whose state is updated by the command.viewports- An array of structures defining viewport rectangles.- Throws:
VulkanException- On errors
-
setEvent
Set an event object to signaled state.- Parameters:
event- The eventinfo- The dependency info.- Throws:
VulkanException- On errors
-
resetEvent
Reset an event object to non-signaled state.- Parameters:
event- The eventmask- The source stage mask used to determine when the event is signaled.- Throws:
VulkanException- On errors
-
resetQueryPool
void resetQueryPool(VulkanQueryPoolType pool, int first_query, int query_count) throws VulkanException Reset a query pool.- Parameters:
pool- The query poolfirst_query- The initial query index to resetquery_count- The number of queries to reset- Throws:
VulkanException- On errors
-
endCommandBuffer
End a command buffer.- Throws:
VulkanException- On errors
-
writeTimestamp
void writeTimestamp(VulkanPipelineStageFlag stage, VulkanQueryPoolType pool, int query_index) throws VulkanException Write a device timestamp into a query object.- Parameters:
stage- The stage of the pipelinepool- The query poolquery_index- The query index- Throws:
VulkanException- On errors
-
waitEvents
void waitEvents(List<VulkanEventType> events, List<VulkanDependencyInfo> dependencyInfos) throws VulkanException Wait for one or more events and insert a set of memory barriers.- Parameters:
events- The events upon which to waitdependencyInfos- The dependency info- Throws:
VulkanException- On errors
-
reset
Reset a command buffer to the initial state.- Parameters:
flags- The flags- Throws:
VulkanException- On errors
-
beginRendering
Begin dynamic rendering.- Parameters:
renderingInfo- The rendering info- Throws:
VulkanException- On errors
-
endRendering
End dynamic rendering.- Throws:
VulkanException- On errors
-