Class KHRDrawIndirectCount


  • public class KHRDrawIndirectCount
    extends java.lang.Object
    This extension is based off the VK_AMD_draw_indirect_count extension. This extension allows an application to source the number of draws for indirect drawing calls from a buffer.

    Applications might want to do culling on the GPU via a compute shader prior to drawing. This enables the application to generate an arbitrary number of drawing commands and execute them without host intervention.

    Promotion to Vulkan 1.2

    All functionality in this extension is included in core Vulkan 1.2, with the KHR suffix omitted. However, if Vulkan 1.2 is supported and this extension is not, the entry points CmdDrawIndirectCount and CmdDrawIndexedIndirectCount are optional. The original type, enum and command names are still available as aliases of the core functionality.

    VK_KHR_draw_indirect_count
    Name String
    VK_KHR_draw_indirect_count
    Extension Type
    Device extension
    Registered Extension Number
    170
    Revision
    1
    Extension and Version Dependencies
    • Requires Vulkan 1.0
    Deprecation state
    Contact
    Other Extension Metadata
    Last Modified Date
    2017-08-25
    Interactions and External Dependencies
    • Promoted to Vulkan 1.2 Core
    IP Status
    No known IP claims.
    Contributors
    • Matthaeus G. Chajdas, AMD
    • Derrick Owens, AMD
    • Graham Sellers, AMD
    • Daniel Rakos, AMD
    • Dominik Witczak, AMD
    • Piers Daniell, NVIDIA
    • Field Detail

      • VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION

        public static final int VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION
        The extension specification version.
        See Also:
        Constant Field Values
      • VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME

        public static final java.lang.String VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME
        The extension name.
        See Also:
        Constant Field Values
    • Method Detail

      • vkCmdDrawIndirectCountKHR

        public static void vkCmdDrawIndirectCountKHR​(org.lwjgl.vulkan.VkCommandBuffer commandBuffer,
                                                     long buffer,
                                                     long offset,
                                                     long countBuffer,
                                                     long countBufferOffset,
                                                     int maxDrawCount,
                                                     int stride)
        Parameters:
        commandBuffer - the command buffer into which the command is recorded.
        buffer - the buffer containing draw parameters.
        offset - the byte offset into buffer where parameters begin.
        countBuffer - the buffer containing the draw count.
        countBufferOffset - the byte offset into countBuffer where the draw count begins.
        maxDrawCount - specifies the maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in countBuffer and maxDrawCount.
        stride - the byte stride between successive sets of draw parameters.
      • vkCmdDrawIndexedIndirectCountKHR

        public static void vkCmdDrawIndexedIndirectCountKHR​(org.lwjgl.vulkan.VkCommandBuffer commandBuffer,
                                                            long buffer,
                                                            long offset,
                                                            long countBuffer,
                                                            long countBufferOffset,
                                                            int maxDrawCount,
                                                            int stride)
        Parameters:
        commandBuffer - the command buffer into which the command is recorded.
        buffer - the buffer containing draw parameters.
        offset - the byte offset into buffer where parameters begin.
        countBuffer - the buffer containing the draw count.
        countBufferOffset - the byte offset into countBuffer where the draw count begins.
        maxDrawCount - specifies the maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in countBuffer and maxDrawCount.
        stride - the byte stride between successive sets of draw parameters.