Interface VulkanCommandBufferType

    • Method Detail

      • bindVertexBuffers

        void bindVertexBuffers​(int first_binding,
                               int binding_count,
                               java.util.List<VulkanBufferType> buffers,
                               java.util.List<java.lang.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 command
        binding_count - The number of vertex input bindings whose state is updated by the command
        buffers - An array of buffer handles
        offsets - 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 buffer
        offset - The starting offset in bytes within buffer used in index buffer address calculations
        index_type - The type of indices
        Throws:
        VulkanException - On errors
      • bindDescriptorSets

        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
        Bind descriptor sets to a command buffer.
        Parameters:
        pipeline_bind_point - The pipeline bind point
        layout - The pipeline layout
        first_set - The set number of the first descriptor set to be bound
        descriptor_sets - The descriptor sets
        dynamic_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,
                       java.util.List<VulkanImageBlit> regions,
                       VulkanFilter filter)
                throws VulkanException
        Copy regions of an image, potentially performing format conversion.
        Parameters:
        source_image - The source image
        source_image_layout - The layout of the source image
        target_image - The target image
        target_image_layout - The target image layout
        regions - The regions that will be used to blit
        filter - 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 image
        source_image_layout - The layout of the source image
        target_image - The target image
        target_image_layout - The target image layout
        region - The regions that will be used to blit
        filter - The filter to apply if the blits require scaling
        Throws:
        VulkanException - On errors
      • copyImage

        void copyImage​(VulkanImageType source_image,
                       VulkanImageLayout source_image_layout,
                       VulkanImageType target_image,
                       VulkanImageLayout target_image_layout,
                       java.util.List<VulkanImageCopy> regions)
                throws VulkanException
        Copy regions of an image, potentially performing format conversion.
        Parameters:
        source_image - The source image
        source_image_layout - The layout of the source image
        target_image - The target image
        target_image_layout - The target image layout
        regions - 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 image
        source_image_layout - The layout of the source image
        target_image - The target image
        target_image_layout - The target image layout
        region - The regions that will be used to copy
        Throws:
        VulkanException - On errors
      • clearAttachments

        void clearAttachments​(java.util.List<VulkanClearAttachment> attachments,
                              java.util.List<VulkanClearRectangle> rectangles)
                       throws VulkanException
        Clear regions within bound framebuffer attachments.
        Parameters:
        attachments - The attachments to clear and the clear values to use
        rectangles - 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 use
        rectangle - A structure defining a region within each selected attachment to clear
        Throws:
        VulkanException - On errors
      • clearAttachments

        default void clearAttachments​(VulkanClearAttachment attachment,
                                      java.util.List<VulkanClearRectangle> rectangles)
                               throws VulkanException
        Clear regions within bound framebuffer attachments.
        Parameters:
        attachment - The attachment to clear and the clear values to use
        rectangles - An array of structures defining regions within each selected attachment to clear
        Throws:
        VulkanException - On errors
      • clearAttachments

        default void clearAttachments​(java.util.List<VulkanClearAttachment> attachment,
                                      VulkanClearRectangle rectangle)
                               throws VulkanException
        Clear regions within bound framebuffer attachments.
        Parameters:
        attachment - The attachment to clear and the clear values to use
        rectangle - A structure defining a region within each selected attachment to clear
        Throws:
        VulkanException - On errors
      • dispatch

        void dispatch​(int group_count_x,
                      int group_count_y,
                      int group_count_z)
               throws VulkanException
        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
      • fillBuffer

        void fillBuffer​(VulkanBufferType buffer,
                        long offset,
                        long size,
                        int data)
                 throws VulkanException
        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
      • pipelineBarrier

        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
        Insert a memory dependency.
        Parameters:
        source_stage_mask - The source stage mask
        target_stage_mask - The target state mask
        dependency_flags - Flags specifying how execution and memory dependencies are formed.
        memory_barriers - A list of memory barriers
        buffer_memory_barriers - A list of buffer memory barriers
        image_memory_barriers - A list of image memory barriers
        Throws:
        VulkanException - On errors
      • nextSubpass

        void nextSubpass​(VulkanSubpassContents contents)
                  throws VulkanException
        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

        void setLineWidth​(float width)
                   throws VulkanException
        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

        void setDepthBounds​(float min_depth_bounds,
                            float max_depth_bounds)
                     throws VulkanException
        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

        void setBlendConstants​(VulkanBlendConstants constants)
                        throws VulkanException
        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​(java.util.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

        void setStencilCompareMask​(java.util.Set<VulkanStencilFaceFlag> face_mask,
                                   int mask)
                            throws VulkanException
        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

        void setStencilWriteMask​(java.util.Set<VulkanStencilFaceFlag> face_mask,
                                 int mask)
                          throws VulkanException
        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

        void setScissor​(int first_scissor,
                        java.util.List<VulkanRectangle2D> rectangles)
                 throws VulkanException
        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

        void setViewport​(int first_viewport,
                         java.util.List<VulkanViewport> viewports)
                  throws VulkanException
        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
      • resetQueryPool

        void resetQueryPool​(VulkanQueryPoolType pool,
                            int first_query,
                            int query_count)
                     throws VulkanException
        Reset a query pool.
        Parameters:
        pool - The query pool
        first_query - The initial query index to reset
        query_count - The number of queries to reset
        Throws:
        VulkanException - On errors