Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class EXTConditionalRendering

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

This extension allows the execution of one or more rendering commands to be conditional on a value in buffer memory. This may help an application reduce the latency by conditionally discarding rendering commands without application intervention. The conditional rendering commands are limited to draws, compute dispatches and clearing attachments within a conditional rendering block.
Examples

None.

VK_EXT_conditional_rendering
Name String
VK_EXT_conditional_rendering
Extension Type
Device extension
Registered Extension Number
82
Revision
2
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
Contact
Other Extension Metadata
Last Modified Date
2018-05-21
IP Status
No known IP claims.
Contributors
  • Vikram Kushwaha, NVIDIA
  • Daniel Rakos, AMD
  • Jesse Hall, Google
  • Jeff Bolz, NVIDIA
  • Piers Daniell, NVIDIA
  • Stuart Smith, Imagination Technologies

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT

Extends VkBufferUsageFlagBits.

public static final int
VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT

VkConditionalRenderingFlagBitsEXT - Specify the behavior of conditional rendering Description

  • CONDITIONAL_RENDERING_INVERTED_BIT_EXT specifies the condition used to determine whether to discard rendering commands or not. That is, if the 32-bit predicate read from buffer memory at offset is zero, the rendering commands are not discarded, and if non zero, then they are discarded.
public static final String
public static final int
VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION

The extension specification version.

public static final int
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT

Extends VkPipelineStageFlagBits.

public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
nvkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, long pConditionalRenderingBegin)

Unsafe version of: CmdBeginConditionalRenderingEXT

public static void
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer
the command buffer into which this command will be recorded.
commandBuffer
,
VkConditionalRenderingBeginInfoEXT
a pointer to a VkConditionalRenderingBeginInfoEXT structure specifying parameters of conditional rendering.
pConditionalRenderingBegin
)

Define the beginning of a conditional rendering block.

public static void
vkCmdEndConditionalRenderingEXT(VkCommandBuffer
the command buffer into which this command will be recorded.
commandBuffer
)

Define the end of a conditional rendering block.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXTback to summary
public static final int VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT

Extends VkAccessFlagBits.

VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXTback to summary
public static final int VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT

Extends VkBufferUsageFlagBits.

VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXTback to summary
public static final int VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT

VkConditionalRenderingFlagBitsEXT - Specify the behavior of conditional rendering

Description
  • CONDITIONAL_RENDERING_INVERTED_BIT_EXT specifies the condition used to determine whether to discard rendering commands or not. That is, if the 32-bit predicate read from buffer memory at offset is zero, the rendering commands are not discarded, and if non zero, then they are discarded.
VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAMEback to summary
public static final String VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME

The extension name.

VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSIONback to summary
public static final int VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION

The extension specification version.

VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXTback to summary
public static final int VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT

Extends VkPipelineStageFlagBits.

VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT

Extends VkStructureType.

Enum values:

Constructor Detail

EXTConditionalRenderingback to summary
protected EXTConditionalRendering()

Method Detail

nvkCmdBeginConditionalRenderingEXTback to summary
public static void nvkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, long pConditionalRenderingBegin)

Unsafe version of: CmdBeginConditionalRenderingEXT

vkCmdBeginConditionalRenderingEXTback to summary
public static void vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, VkConditionalRenderingBeginInfoEXT pConditionalRenderingBegin)

Define the beginning of a conditional rendering block.

C Specification

To begin conditional rendering, call:


void vkCmdBeginConditionalRenderingEXT(
    VkCommandBuffer                             commandBuffer,
    const VkConditionalRenderingBeginInfoEXT*   pConditionalRenderingBegin);
Valid Usage
  • Conditional rendering must not already be active
Valid Usage (Implicit)
  • commandBuffer must be a valid VkCommandBuffer handle
  • pConditionalRenderingBegin must be a valid pointer to a valid VkConditionalRenderingBeginInfoEXT structure
  • commandBuffer must be in the recording state
  • The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
  • This command must only be called outside of a video coding scope
Host Synchronization
  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized
Command Properties
Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBothOutsideGraphics ComputeAction State
See Also

VkConditionalRenderingBeginInfoEXT

Parameters
commandBuffer:VkCommandBuffer

the command buffer into which this command will be recorded.

pConditionalRenderingBegin:VkConditionalRenderingBeginInfoEXT

a pointer to a VkConditionalRenderingBeginInfoEXT structure specifying parameters of conditional rendering.

vkCmdEndConditionalRenderingEXTback to summary
public static void vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer)

Define the end of a conditional rendering block.

C Specification

To end conditional rendering, call:


void vkCmdEndConditionalRenderingEXT(
    VkCommandBuffer                             commandBuffer);
Description

Once ended, conditional rendering becomes inactive.

Valid Usage
  • Conditional rendering must be active
  • If conditional rendering was made active outside of a render pass instance, it must not be ended inside a render pass instance
  • If conditional rendering was made active within a subpass it must be ended in the same subpass
Valid Usage (Implicit)
  • commandBuffer must be a valid VkCommandBuffer handle
  • commandBuffer must be in the recording state
  • The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
  • This command must only be called outside of a video coding scope
Host Synchronization
  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized
Command Properties
Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBothOutsideGraphics ComputeAction State
Parameters
commandBuffer:VkCommandBuffer

the command buffer into which this command will be recorded.