• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1include::meta/VK_EXT_conditional_rendering.txt[]
2
3*Last Modified Date*::
4    2018-05-21
5*IP Status*::
6    No known IP claims.
7*Contributors*::
8  - Vikram Kushwaha, NVIDIA
9  - Daniel Rakos, AMD
10  - Jesse Hall, Google
11  - Jeff Bolz, NVIDIA
12  - Piers Daniell, NVIDIA
13  - Stuart Smith, Imagination Technologies
14
15This extension allows the execution of one or more rendering commands to be
16conditional on a value in buffer memory.
17This may help an application reduce the latency by conditionally discarding
18rendering commands without application intervention.
19The conditional rendering commands are limited to draws, compute dispatches
20and clearing attachments within a conditional rendering block.
21
22=== New Object Types
23
24None.
25
26=== New Enum Constants
27
28  * Extending elink:VkAccessFlagBits:
29  ** ename:VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT
30  * Extending elink:VkBufferUsageFlagBits:
31  ** ename:VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
32  * Extending elink:VkPipelineStageFlagBits:
33  ** ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
34
35=== New Enums
36
37  * elink:VkConditionalRenderingFlagBitsEXT
38
39=== New Structures
40
41  * slink:VkConditionalRenderingBeginInfoEXT
42  * Extending slink:VkCommandBufferInheritanceInfo:
43  ** slink:VkCommandBufferInheritanceConditionalRenderingInfoEXT
44  * Extending slink:VkPhysicalDeviceFeatures2:
45  ** slink:VkPhysicalDeviceConditionalRenderingFeaturesEXT
46
47None.
48
49=== New Functions
50
51  * flink:vkCmdBeginConditionalRenderingEXT
52  * flink:vkCmdEndConditionalRenderingEXT
53
54=== Issues
55
561) Should conditional rendering affect copy and blit commands?
57
58RESOLVED: Conditional rendering should not affect copies and blits.
59
602) Should secondary command buffers be allowed to execute while conditional
61rendering is active in the primary command buffer?
62
63RESOLVED: The rendering commands in secondary command buffer will be
64affected by an active conditional rendering in primary command buffer if the
65pname:conditionalRenderingEnable is set to ename:VK_TRUE.
66Conditional rendering must: not be active in the primary command buffer if
67pname:conditionalRenderingEnable is ename:VK_FALSE.
68
69=== Examples
70
71None.
72
73=== Version History
74
75  * Revision 1, 2018-04-19 (Vikram Kushwaha)
76    - First Version
77
78  * Revision 2, 2018-05-21 (Vikram Kushwaha)
79    - Add new pipeline stage, access flags and limit conditional rendering
80    to a subpass or entire renderpass.
81