- java.lang.Object
-
- com.io7m.jcoronado.lwjgl.VulkanLWJGLCommandBuffer
-
- All Implemented Interfaces:
VulkanCommandBufferType
,VulkanHandleDispatchableType
,VulkanHandleType
,java.lang.AutoCloseable
public final class VulkanLWJGLCommandBuffer extends java.lang.Object implements VulkanCommandBufferType
LWJGLVulkanCommandBufferType
.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beginCommandBuffer(VulkanCommandBufferBeginInfo info)
Begin a command buffer.void
beginQuery(VulkanQueryPoolType pool, int query, java.util.Set<VulkanQueryControlFlag> flags)
Begin a query.void
beginRenderPass(VulkanRenderPassBeginInfo info, VulkanSubpassContents contents)
Specify how commands in the first subpass of a render pass are provided.void
bindDescriptorSets(VulkanPipelineBindPoint pipeline_bind_point, VulkanPipelineLayoutType layout, int first_set, java.util.List<VulkanDescriptorSetType> descriptor_sets, java.util.List<java.lang.Integer> dynamic_offsets)
Bind descriptor sets to a command buffer.void
bindIndexBuffer(VulkanBufferType buffer, long offset, VulkanIndexType index_type)
Bind index buffer to a command buffer.void
bindPipeline(VulkanPipelineBindPoint bind_point, VulkanPipelineType pipeline)
Bind a rendering pipeline.void
bindVertexBuffers(int first_binding, int binding_count, java.util.List<VulkanBufferType> buffers, java.util.List<java.lang.Long> offsets)
Bind vertex buffers to a command buffer.void
blitImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, java.util.List<VulkanImageBlit> regions, VulkanFilter filter)
Copy regions of an image, potentially performing format conversion.protected void
checkNotClosed()
void
clearAttachments(java.util.List<VulkanClearAttachment> attachments, java.util.List<VulkanClearRectangle> rectangles)
Clear regions within bound framebuffer attachments.void
clearColorImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueType.VulkanClearValueColorType color, java.util.List<VulkanImageSubresourceRange> ranges)
Clear regions of a color image.void
clearDepthStencilImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueDepthStencil depth_stencil, java.util.List<VulkanImageSubresourceRange> ranges)
Clear regions of a depth stencil image.void
close()
Destroy the object.protected void
closeActual()
void
copyBuffer(VulkanBufferType source, VulkanBufferType target, java.util.List<VulkanBufferCopy> regions)
Copy data between buffer regions.void
copyBufferToImage(VulkanBufferType source_buffer, VulkanImageType target_image, VulkanImageLayout target_image_layout, java.util.List<VulkanBufferImageCopy> regions)
Copy data from a buffer to an image.void
copyImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, java.util.List<VulkanImageCopy> regions)
Copy regions of an image, potentially performing format conversion.void
copyImageToBuffer(VulkanImageType source_image, VulkanImageLayout source_layout, VulkanBufferType target_buffer, java.util.List<VulkanBufferImageCopy> regions)
Copy data from an image to a buffer.void
dispatch(int group_count_x, int group_count_y, int group_count_z)
Dispatch compute work items.void
draw(int vertex_count, int instance_count, int first_vertex, int first_instance)
Draw primitives.void
drawIndexed(int vertex_count, int instance_count, int first_vertex, int vertex_offset, int first_instance)
Draw primitives using an index buffer.void
drawIndexedIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride)
Draw primitives indirectly.void
drawIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride)
Draw primitives indirectly.void
endCommandBuffer()
End a command buffer.void
endQuery(VulkanQueryPoolType pool, int query)
End a query.void
endRenderPass()
End a render pass.boolean
equals(java.lang.Object o)
void
fillBuffer(VulkanBufferType buffer, long offset, long size, int data)
Fill a region of a buffer with a fixed value.org.lwjgl.vulkan.VkCommandBuffer
handle()
int
hashCode()
protected VulkanLWJGLHostAllocatorProxy
hostAllocatorProxy()
boolean
isClosed()
protected org.slf4j.Logger
logger()
void
nextSubpass(VulkanSubpassContents contents)
Transition to the next subpass of a render pass.void
pipelineBarrier(java.util.Set<VulkanPipelineStageFlag> source_stage_mask, java.util.Set<VulkanPipelineStageFlag> target_stage_mask, java.util.Set<VulkanDependencyFlag> dependency_flags, java.util.List<VulkanMemoryBarrier> memory_barriers, java.util.List<VulkanBufferMemoryBarrier> buffer_memory_barriers, java.util.List<VulkanImageMemoryBarrier> image_memory_barriers)
Insert a memory dependency.void
resetEvent(VulkanEventType event, java.util.Set<VulkanPipelineStageFlag> mask)
Reset an event object to non-signaled state.void
resetQueryPool(VulkanQueryPoolType pool, int first_query, int query_count)
Reset a query pool.void
setBlendConstants(VulkanBlendConstants constants)
Set the values of blend constants.void
setDepthBias(float depth_bias_constant_factor, float depth_bias_clamp, float depth_bias_slope_factor)
Set the depth bias dynamic state.void
setDepthBounds(float min_depth_bounds, float max_depth_bounds)
Set the depth bounds test values for a command buffer.void
setEvent(VulkanEventType event, java.util.Set<VulkanPipelineStageFlag> mask)
Set an event object to signaled state.void
setLineWidth(float width)
Set the dynamic line width state.void
setScissor(int first_scissor, java.util.List<VulkanRectangle2D> rectangles)
Set the dynamic scissor rectangles on a command buffer.void
setStencilCompareMask(java.util.Set<VulkanStencilFaceFlag> face_mask, int mask)
Set the stencil compare mask.void
setStencilReference(java.util.Set<VulkanStencilFaceFlag> face_mask, int reference)
Set the stencil reference.void
setStencilWriteMask(java.util.Set<VulkanStencilFaceFlag> face_mask, int mask)
Set the stencil write mask.void
setViewport(int first_viewport, java.util.List<VulkanViewport> viewports)
Set the viewport on a command buffer.java.lang.String
toString()
void
waitEvents(java.util.List<VulkanEventType> events, java.util.Set<VulkanPipelineStageFlag> source_stage_mask, java.util.Set<VulkanPipelineStageFlag> target_stage_mask, java.util.List<VulkanMemoryBarrier> memory_barriers, java.util.List<VulkanBufferMemoryBarrier> buffer_memory_barriers, java.util.List<VulkanImageMemoryBarrier> image_memory_barriers)
Wait for one or more events and insert a set of memory.void
writeTimestamp(VulkanPipelineStageFlag stage, VulkanQueryPoolType pool, int query_index)
Write a device timestamp into a query object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.io7m.jcoronado.api.VulkanCommandBufferType
beginCommandBuffer, beginCommandBuffer, blitImage, clearAttachments, clearAttachments, clearAttachments, copyImage
-
Methods inherited from interface com.io7m.jcoronado.api.VulkanHandleType
close, isClosed
-
-
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
logger
protected org.slf4j.Logger logger()
-
closeActual
protected void closeActual()
-
beginCommandBuffer
public void beginCommandBuffer(VulkanCommandBufferBeginInfo info) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Begin a command buffer.- Specified by:
beginCommandBuffer
in interfaceVulkanCommandBufferType
- Parameters:
info
- The begin info- Throws:
VulkanException
- On errors
-
beginQuery
public void beginQuery(VulkanQueryPoolType pool, int query, java.util.Set<VulkanQueryControlFlag> flags) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Begin a query.- Specified by:
beginQuery
in interfaceVulkanCommandBufferType
- Parameters:
pool
- The query poolquery
- The query indexflags
- Control flags for the query- Throws:
VulkanException
- On errors
-
endQuery
public void endQuery(VulkanQueryPoolType pool, int query) throws VulkanException
Description copied from interface:VulkanCommandBufferType
End a query.- Specified by:
endQuery
in interfaceVulkanCommandBufferType
- Parameters:
pool
- The query poolquery
- The query index- Throws:
VulkanException
- On errors
-
beginRenderPass
public void beginRenderPass(VulkanRenderPassBeginInfo info, VulkanSubpassContents contents) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Specify how commands in the first subpass of a render pass are provided.- Specified by:
beginRenderPass
in interfaceVulkanCommandBufferType
- Parameters:
info
- The begin infocontents
- Specifies how the commands in the first subpass will be provided.- Throws:
VulkanException
- On errors
-
bindPipeline
public void bindPipeline(VulkanPipelineBindPoint bind_point, VulkanPipelineType pipeline) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Bind a rendering pipeline.- Specified by:
bindPipeline
in interfaceVulkanCommandBufferType
- Parameters:
bind_point
- The bind pointpipeline
- The pipeline- Throws:
VulkanException
- On errors
-
bindVertexBuffers
public void bindVertexBuffers(int first_binding, int binding_count, java.util.List<VulkanBufferType> buffers, java.util.List<java.lang.Long> offsets) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Bind vertex buffers to a command buffer.- Specified by:
bindVertexBuffers
in interfaceVulkanCommandBufferType
- 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
public void bindIndexBuffer(VulkanBufferType buffer, long offset, VulkanIndexType index_type) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Bind index buffer to a command buffer.- Specified by:
bindIndexBuffer
in interfaceVulkanCommandBufferType
- 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
public void bindDescriptorSets(VulkanPipelineBindPoint pipeline_bind_point, VulkanPipelineLayoutType layout, int first_set, java.util.List<VulkanDescriptorSetType> descriptor_sets, java.util.List<java.lang.Integer> dynamic_offsets) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Bind descriptor sets to a command buffer.- Specified by:
bindDescriptorSets
in interfaceVulkanCommandBufferType
- 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
public void blitImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, java.util.List<VulkanImageBlit> regions, VulkanFilter filter) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Copy regions of an image, potentially performing format conversion.- Specified by:
blitImage
in interfaceVulkanCommandBufferType
- 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
-
copyImage
public void copyImage(VulkanImageType source_image, VulkanImageLayout source_image_layout, VulkanImageType target_image, VulkanImageLayout target_image_layout, java.util.List<VulkanImageCopy> regions) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Copy regions of an image, potentially performing format conversion.- Specified by:
copyImage
in interfaceVulkanCommandBufferType
- 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
-
clearAttachments
public void clearAttachments(java.util.List<VulkanClearAttachment> attachments, java.util.List<VulkanClearRectangle> rectangles) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Clear regions within bound framebuffer attachments.- Specified by:
clearAttachments
in interfaceVulkanCommandBufferType
- 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
-
clearColorImage
public void clearColorImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueType.VulkanClearValueColorType color, java.util.List<VulkanImageSubresourceRange> ranges) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Clear regions of a color image.- Specified by:
clearColorImage
in interfaceVulkanCommandBufferType
- Parameters:
image
- The imageimage_layout
- The image layoutcolor
- The color valueranges
- The image subresource ranges- Throws:
VulkanException
- On errors
-
clearDepthStencilImage
public void clearDepthStencilImage(VulkanImageType image, VulkanImageLayout image_layout, VulkanClearValueDepthStencil depth_stencil, java.util.List<VulkanImageSubresourceRange> ranges) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Clear regions of a depth stencil image.- Specified by:
clearDepthStencilImage
in interfaceVulkanCommandBufferType
- Parameters:
image
- The imageimage_layout
- The image layoutdepth_stencil
- The depth stencil valueranges
- The image subresource ranges- Throws:
VulkanException
- On errors
-
dispatch
public void dispatch(int group_count_x, int group_count_y, int group_count_z)
Description copied from interface:VulkanCommandBufferType
Dispatch compute work items.- Specified by:
dispatch
in interfaceVulkanCommandBufferType
- 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.
-
copyBuffer
public void copyBuffer(VulkanBufferType source, VulkanBufferType target, java.util.List<VulkanBufferCopy> regions) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Copy data between buffer regions.- Specified by:
copyBuffer
in interfaceVulkanCommandBufferType
- Parameters:
source
- The source buffertarget
- The target bufferregions
- The list of regions to be copied- Throws:
VulkanException
- On errors
-
copyImageToBuffer
public void copyImageToBuffer(VulkanImageType source_image, VulkanImageLayout source_layout, VulkanBufferType target_buffer, java.util.List<VulkanBufferImageCopy> regions) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Copy data from an image to a buffer.- Specified by:
copyImageToBuffer
in interfaceVulkanCommandBufferType
- 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
public void copyBufferToImage(VulkanBufferType source_buffer, VulkanImageType target_image, VulkanImageLayout target_image_layout, java.util.List<VulkanBufferImageCopy> regions) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Copy data from a buffer to an image.- Specified by:
copyBufferToImage
in interfaceVulkanCommandBufferType
- 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
-
draw
public void draw(int vertex_count, int instance_count, int first_vertex, int first_instance) throws VulkanDestroyedException
Description copied from interface:VulkanCommandBufferType
Draw primitives.- Specified by:
draw
in interfaceVulkanCommandBufferType
- 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:
VulkanDestroyedException
-
drawIndexed
public void drawIndexed(int vertex_count, int instance_count, int first_vertex, int vertex_offset, int first_instance) throws VulkanDestroyedException
Description copied from interface:VulkanCommandBufferType
Draw primitives using an index buffer.- Specified by:
drawIndexed
in interfaceVulkanCommandBufferType
- 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:
VulkanDestroyedException
-
drawIndirect
public void drawIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Draw primitives indirectly.- Specified by:
drawIndirect
in interfaceVulkanCommandBufferType
- 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
public void drawIndexedIndirect(VulkanBufferType buffer, long offset, int draw_count, int stride) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Draw primitives indirectly.- Specified by:
drawIndexedIndirect
in interfaceVulkanCommandBufferType
- 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
-
fillBuffer
public void fillBuffer(VulkanBufferType buffer, long offset, long size, int data) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Fill a region of a buffer with a fixed value.- Specified by:
fillBuffer
in interfaceVulkanCommandBufferType
- 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
public void endRenderPass() throws VulkanDestroyedException
Description copied from interface:VulkanCommandBufferType
End a render pass.- Specified by:
endRenderPass
in interfaceVulkanCommandBufferType
- Throws:
VulkanDestroyedException
-
pipelineBarrier
public void pipelineBarrier(java.util.Set<VulkanPipelineStageFlag> source_stage_mask, java.util.Set<VulkanPipelineStageFlag> target_stage_mask, java.util.Set<VulkanDependencyFlag> dependency_flags, java.util.List<VulkanMemoryBarrier> memory_barriers, java.util.List<VulkanBufferMemoryBarrier> buffer_memory_barriers, java.util.List<VulkanImageMemoryBarrier> image_memory_barriers) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Insert a memory dependency.- Specified by:
pipelineBarrier
in interfaceVulkanCommandBufferType
- Parameters:
source_stage_mask
- The source stage masktarget_stage_mask
- The target state maskdependency_flags
- Flags specifying how execution and memory dependencies are formed.memory_barriers
- A list of memory barriersbuffer_memory_barriers
- A list of buffer memory barriersimage_memory_barriers
- A list of image memory barriers- Throws:
VulkanException
- On errors
-
nextSubpass
public void nextSubpass(VulkanSubpassContents contents) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Transition to the next subpass of a render pass.- Specified by:
nextSubpass
in interfaceVulkanCommandBufferType
- 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
public void setLineWidth(float width) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the dynamic line width state.- Specified by:
setLineWidth
in interfaceVulkanCommandBufferType
- Parameters:
width
- The width of rasterized line segments.- Throws:
VulkanException
- On errors
-
setDepthBias
public void setDepthBias(float depth_bias_constant_factor, float depth_bias_clamp, float depth_bias_slope_factor) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the depth bias dynamic state.- Specified by:
setDepthBias
in interfaceVulkanCommandBufferType
- 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
public void setDepthBounds(float min_depth_bounds, float max_depth_bounds) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the depth bounds test values for a command buffer.- Specified by:
setDepthBounds
in interfaceVulkanCommandBufferType
- 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
public void setBlendConstants(VulkanBlendConstants constants) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the values of blend constants.- Specified by:
setBlendConstants
in interfaceVulkanCommandBufferType
- 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
public void setStencilReference(java.util.Set<VulkanStencilFaceFlag> face_mask, int reference) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the stencil reference.- Specified by:
setStencilReference
in interfaceVulkanCommandBufferType
- 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
public void setStencilCompareMask(java.util.Set<VulkanStencilFaceFlag> face_mask, int mask) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the stencil compare mask.- Specified by:
setStencilCompareMask
in interfaceVulkanCommandBufferType
- 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
public void setStencilWriteMask(java.util.Set<VulkanStencilFaceFlag> face_mask, int mask) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the stencil write mask.- Specified by:
setStencilWriteMask
in interfaceVulkanCommandBufferType
- 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
public void setScissor(int first_scissor, java.util.List<VulkanRectangle2D> rectangles) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the dynamic scissor rectangles on a command buffer.- Specified by:
setScissor
in interfaceVulkanCommandBufferType
- 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
public void setViewport(int first_viewport, java.util.List<VulkanViewport> viewports) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set the viewport on a command buffer.- Specified by:
setViewport
in interfaceVulkanCommandBufferType
- 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
public void setEvent(VulkanEventType event, java.util.Set<VulkanPipelineStageFlag> mask) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Set an event object to signaled state.- Specified by:
setEvent
in interfaceVulkanCommandBufferType
- Parameters:
event
- The eventmask
- The source stage mask used to determine when the event is signaled.- Throws:
VulkanException
- On errors
-
resetEvent
public void resetEvent(VulkanEventType event, java.util.Set<VulkanPipelineStageFlag> mask) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Reset an event object to non-signaled state.- Specified by:
resetEvent
in interfaceVulkanCommandBufferType
- Parameters:
event
- The eventmask
- The source stage mask used to determine when the event is signaled.- Throws:
VulkanException
- On errors
-
resetQueryPool
public void resetQueryPool(VulkanQueryPoolType pool, int first_query, int query_count) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Reset a query pool.- Specified by:
resetQueryPool
in interfaceVulkanCommandBufferType
- Parameters:
pool
- The query poolfirst_query
- The initial query index to resetquery_count
- The number of queries to reset- Throws:
VulkanException
- On errors
-
endCommandBuffer
public void endCommandBuffer() throws VulkanException
Description copied from interface:VulkanCommandBufferType
End a command buffer.- Specified by:
endCommandBuffer
in interfaceVulkanCommandBufferType
- Throws:
VulkanException
- On errors
-
writeTimestamp
public void writeTimestamp(VulkanPipelineStageFlag stage, VulkanQueryPoolType pool, int query_index) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Write a device timestamp into a query object.- Specified by:
writeTimestamp
in interfaceVulkanCommandBufferType
- Parameters:
stage
- The stage of the pipelinepool
- The query poolquery_index
- The query index- Throws:
VulkanException
- On errors
-
waitEvents
public void waitEvents(java.util.List<VulkanEventType> events, java.util.Set<VulkanPipelineStageFlag> source_stage_mask, java.util.Set<VulkanPipelineStageFlag> target_stage_mask, java.util.List<VulkanMemoryBarrier> memory_barriers, java.util.List<VulkanBufferMemoryBarrier> buffer_memory_barriers, java.util.List<VulkanImageMemoryBarrier> image_memory_barriers) throws VulkanException
Description copied from interface:VulkanCommandBufferType
Wait for one or more events and insert a set of memory.- Specified by:
waitEvents
in interfaceVulkanCommandBufferType
- Parameters:
events
- The events upon which to waitsource_stage_mask
- The source stage masktarget_stage_mask
- The target state maskmemory_barriers
- A list of memory barriersbuffer_memory_barriers
- A list of buffer memory barriersimage_memory_barriers
- A list of image memory barriers- Throws:
VulkanException
- On errors
-
handle
public org.lwjgl.vulkan.VkCommandBuffer handle()
- Returns:
- The raw handle
-
hostAllocatorProxy
protected final VulkanLWJGLHostAllocatorProxy hostAllocatorProxy()
-
isClosed
public final boolean isClosed()
- Specified by:
isClosed
in interfaceVulkanHandleType
- Returns:
true
iff the handle has been destroyed withVulkanHandleType.close()
- See Also:
VulkanHandleType.close()
-
close
public final void close()
Description copied from interface:VulkanHandleType
Destroy the object.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceVulkanHandleType
-
checkNotClosed
protected final void checkNotClosed() throws VulkanDestroyedException
- Throws:
VulkanDestroyedException
-
-