VK_EXT_conditional_rendering
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
Description
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.
New Commands
New Structures
- VkConditionalRenderingBeginInfoEXT
- Extending VkCommandBufferInheritanceInfo:
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
New Enums
New Bitmasks
New Enum Constants
VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME
VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION
- Extending VkAccessFlagBits:
VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT
- Extending VkBufferUsageFlagBits:
VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
- Extending VkPipelineStageFlagBits:
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
- Extending VkStructureType:
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_EXT
Issues
1) Should conditional rendering affect copy and blit commands?
RESOLVED: Conditional rendering should not affect copies and blits.
2) Should secondary command buffers be allowed to execute while conditional rendering is active in the primary command buffer?
RESOLVED: The rendering commands in secondary command buffer will be
affected by an active conditional rendering in primary command buffer if the
conditionalRenderingEnable
is set to VK_TRUE
.
Conditional rendering must not be active in the primary command buffer if
conditionalRenderingEnable
is VK_FALSE
.
Examples
None.
Version History
- Revision 1, 2018-04-19 (Vikram Kushwaha)
- First Version
- Revision 2, 2018-05-21 (Vikram Kushwaha)
- Add new pipeline stage, access flags and limit conditional rendering to a subpass or entire render pass.