85 lines
2.6 KiB
Plaintext
85 lines
2.6 KiB
Plaintext
include::meta/VK_EXT_conditional_rendering.txt[]
|
|
|
|
*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
|
|
|
|
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 Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
* Extending elink:VkStructureType:
|
|
** ename:VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
|
|
** ename:VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT
|
|
* Extending elink:VkAccessFlagBits:
|
|
** ename:VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT
|
|
* Extending elink:VkBufferUsageFlagBits:
|
|
** ename:VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
|
|
* Extending elink:VkPipelineStageFlagBits:
|
|
** ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
|
|
|
|
=== New Enums
|
|
|
|
* elink:VkConditionalRenderingFlagBitsEXT
|
|
|
|
=== New Structures
|
|
|
|
* slink:VkConditionalRenderingBeginInfoEXT
|
|
* Extending slink:VkCommandBufferInheritanceInfo:
|
|
** slink:VkCommandBufferInheritanceConditionalRenderingInfoEXT
|
|
* Extending slink:VkPhysicalDeviceFeatures2:
|
|
** slink:VkPhysicalDeviceConditionalRenderingFeaturesEXT
|
|
|
|
None.
|
|
|
|
=== New Functions
|
|
|
|
* flink:vkCmdBeginConditionalRenderingEXT
|
|
* flink:vkCmdEndConditionalRenderingEXT
|
|
|
|
=== 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
|
|
pname:conditionalRenderingEnable is set to ename:VK_TRUE.
|
|
Conditional rendering must: not be active in the primary command buffer if
|
|
pname:conditionalRenderingEnable is ename: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 renderpass.
|