Package org.lwjgl.vulkan
Class EXTConditionalRendering
java.lang.Object
org.lwjgl.vulkan.EXTConditionalRendering
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.
- 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_properties2or Version 1.1- Contact
- Vikram Kushwaha vkushwaha
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
FieldsModifier and TypeFieldDescriptionstatic final intExtendsVkAccessFlagBits.static final intExtendsVkBufferUsageFlagBits.static final intVkConditionalRenderingFlagBitsEXT - Specify the behavior of conditional renderingstatic final StringThe extension name.static final intThe extension specification version.static final intExtendsVkPipelineStageFlagBits.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidnvkCmdBeginConditionalRenderingEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pConditionalRenderingBegin) Unsafe version of:CmdBeginConditionalRenderingEXTstatic voidvkCmdBeginConditionalRenderingEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkConditionalRenderingBeginInfoEXT pConditionalRenderingBegin) Define the beginning of a conditional rendering block.static voidvkCmdEndConditionalRenderingEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer) Define the end of a conditional rendering block.
-
Field Details
-
VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION
public static final int VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
public static final int VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT
public static final int VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT
public static final int VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXTExtendsVkAccessFlagBits.- See Also:
-
VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
public static final int VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXTExtendsVkBufferUsageFlagBits.- See Also:
-
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
public static final int VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXTExtendsVkPipelineStageFlagBits.- See Also:
-
VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
public static final int VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXTVkConditionalRenderingFlagBitsEXT - Specify the behavior of conditional renderingDescription
CONDITIONAL_RENDERING_INVERTED_BIT_EXTspecifies the condition used to determine whether to discard rendering commands or not. That is, if the 32-bit predicate read frombuffermemory atoffsetis zero, the rendering commands are not discarded, and if non zero, then they are discarded.
- See Also:
-
-
Method Details
-
nvkCmdBeginConditionalRenderingEXT
public static void nvkCmdBeginConditionalRenderingEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pConditionalRenderingBegin) Unsafe version of:CmdBeginConditionalRenderingEXT -
vkCmdBeginConditionalRenderingEXT
public static void vkCmdBeginConditionalRenderingEXT(org.lwjgl.vulkan.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)
commandBuffermust be a validVkCommandBufferhandlepConditionalRenderingBeginmust be a valid pointer to a validVkConditionalRenderingBeginInfoEXTstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Video Coding Scope Supported Queue Types Command Type Primary Secondary Both Outside Graphics Compute Action State See Also
- Parameters:
commandBuffer- the command buffer into which this command will be recorded.pConditionalRenderingBegin- a pointer to aVkConditionalRenderingBeginInfoEXTstructure specifying parameters of conditional rendering.
-
vkCmdEndConditionalRenderingEXT
public static void vkCmdEndConditionalRenderingEXT(org.lwjgl.vulkan.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)
commandBuffermust be a validVkCommandBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Video Coding Scope Supported Queue Types Command Type Primary Secondary Both Outside Graphics Compute Action State - Parameters:
commandBuffer- the command buffer into which this command will be recorded.
-