Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class KHRDrawIndirectCount

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

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
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 Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION

The extension specification version.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer
the command buffer into which the command is recorded.
commandBuffer
,
long
the buffer containing draw parameters.
buffer
,
long
the byte offset into buffer where parameters begin.
offset
,
long
the buffer containing the draw count.
countBuffer
,
long
the byte offset into countBuffer where the draw count begins.
countBufferOffset
,
int
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.
maxDrawCount
,
int
the byte stride between successive sets of draw parameters.
stride
)

See CmdDrawIndexedIndirectCount.

public static void
vkCmdDrawIndirectCountKHR(VkCommandBuffer
the command buffer into which the command is recorded.
commandBuffer
,
long
the buffer containing draw parameters.
buffer
,
long
the byte offset into buffer where parameters begin.
offset
,
long
the buffer containing the draw count.
countBuffer
,
long
the byte offset into countBuffer where the draw count begins.
countBufferOffset
,
int
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.
maxDrawCount
,
int
the byte stride between successive sets of draw parameters.
stride
)

See CmdDrawIndirectCount.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAMEback to summary
public static final String VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME

The extension name.

VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSIONback to summary
public static final int VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION

The extension specification version.

Constructor Detail

KHRDrawIndirectCountback to summary
protected KHRDrawIndirectCount()

Method Detail

vkCmdDrawIndexedIndirectCountKHRback to summary
public static void vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer, long buffer, long offset, long countBuffer, long countBufferOffset, int maxDrawCount, int stride)

See CmdDrawIndexedIndirectCount.

Parameters
commandBuffer:VkCommandBuffer

the command buffer into which the command is recorded.

buffer:long

the buffer containing draw parameters.

offset:long

the byte offset into buffer where parameters begin.

countBuffer:long

the buffer containing the draw count.

countBufferOffset:long

the byte offset into countBuffer where the draw count begins.

maxDrawCount:int

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:int

the byte stride between successive sets of draw parameters.

vkCmdDrawIndirectCountKHRback to summary
public static void vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer, long buffer, long offset, long countBuffer, long countBufferOffset, int maxDrawCount, int stride)

See CmdDrawIndirectCount.

Parameters
commandBuffer:VkCommandBuffer

the command buffer into which the command is recorded.

buffer:long

the buffer containing draw parameters.

offset:long

the byte offset into buffer where parameters begin.

countBuffer:long

the buffer containing the draw count.

countBufferOffset:long

the byte offset into countBuffer where the draw count begins.

maxDrawCount:int

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:int

the byte stride between successive sets of draw parameters.