Package org.lwjgl.vulkan
Class EXTConditionalRendering
- java.lang.Object
-
- org.lwjgl.vulkan.EXTConditionalRendering
-
public class EXTConditionalRendering extends java.lang.Object
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
- 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 int
VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT
ExtendsVkAccessFlagBits
.static int
VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
ExtendsVkBufferUsageFlagBits
.static int
VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
VkConditionalRenderingFlagBitsEXT - Specify the behavior of conditional renderingstatic java.lang.String
VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME
The extension name.static int
VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION
The extension specification version.static int
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
ExtendsVkPipelineStageFlagBits
.static int
VK_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 void
nvkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, long pConditionalRenderingBegin)
Unsafe version of:CmdBeginConditionalRenderingEXT
static void
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, VkConditionalRenderingBeginInfoEXT pConditionalRenderingBegin)
Define the beginning of a conditional rendering block.static void
vkCmdEndConditionalRenderingEXT(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_EXT
specifies the condition used to determine whether to discard rendering commands or not. That is, if the 32-bit predicate read frombuffer
memory atoffset
is 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)
commandBuffer
must be a validVkCommandBuffer
handlepConditionalRenderingBegin
must be a valid pointer to a validVkConditionalRenderingBeginInfoEXT
structurecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was 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 theVkConditionalRenderingBeginInfoEXT
structure 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)
commandBuffer
must be a validVkCommandBuffer
handlecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was 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.
-
-