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_NAMEVK_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_EXTVK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXTVK_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.