Package org.lwjgl.vulkan
Class EXTConditionalRendering
- java.lang.Object
-
- org.lwjgl.vulkan.EXTConditionalRendering
-
public class EXTConditionalRendering extends java.lang.ObjectThis 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
- Requires Vulkan 1.0
- Contact
- Vikram Kushwaha vkushwaha
- 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
Fields Modifier and Type Field Description static intVK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXTExtendsVkAccessFlagBits.static intVK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXTExtendsVkBufferUsageFlagBits.static intVK_CONDITIONAL_RENDERING_INVERTED_BIT_EXTVkConditionalRenderingFlagBitsEXT - Specify the behavior of conditional renderingstatic java.lang.StringVK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAMEThe extension name.static intVK_EXT_CONDITIONAL_RENDERING_SPEC_VERSIONThe extension specification version.static intVK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXTExtendsVkPipelineStageFlagBits.static intVK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXTExtendsVkStructureType.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidnvkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, long pConditionalRenderingBegin)Unsafe version of:CmdBeginConditionalRenderingEXTstatic voidvkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, VkConditionalRenderingBeginInfoEXT pConditionalRenderingBegin)Define the beginning of a conditional rendering block.static voidvkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer)Define the end of a conditional rendering block.
-
-
-
Field Detail
-
VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION
The extension specification version.
-
VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT
-
VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT
ExtendsVkAccessFlagBits.
-
VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
ExtendsVkBufferUsageFlagBits.
-
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
ExtendsVkPipelineStageFlagBits.
-
VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
VkConditionalRenderingFlagBitsEXT - 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
VkConditionalRenderingFlagsEXT
-
-
Method Detail
-
nvkCmdBeginConditionalRenderingEXT
public static void nvkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, long pConditionalRenderingBegin)
Unsafe version of:CmdBeginConditionalRenderingEXT
-
vkCmdBeginConditionalRenderingEXT
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)
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
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 Supported Queue Types Pipeline Type Primary Secondary Both Graphics Compute See Also
- Parameters:
commandBuffer- the command buffer into which this command will be recorded.pConditionalRenderingBegin- a pointer to an instance of theVkConditionalRenderingBeginInfoEXTstructure specifying the parameters of conditional rendering.
-
vkCmdEndConditionalRenderingEXT
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)
commandBuffermust be a validVkCommandBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations
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 Supported Queue Types Pipeline Type Primary Secondary Both Graphics Compute - Parameters:
commandBuffer- the command buffer into which this command will be recorded.
-
-