1// Copyright 2018-2023 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_EXT_conditional_rendering.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2018-05-21
11*IP Status*::
12    No known IP claims.
13*Contributors*::
14  - Vikram Kushwaha, NVIDIA
15  - Daniel Rakos, AMD
16  - Jesse Hall, Google
17  - Jeff Bolz, NVIDIA
18  - Piers Daniell, NVIDIA
19  - Stuart Smith, Imagination Technologies
20
21=== Description
22
23This extension allows the execution of one or more rendering commands to be
24conditional on a value in buffer memory.
25This may help an application reduce the latency by conditionally discarding
26rendering commands without application intervention.
27The conditional rendering commands are limited to draws, compute dispatches
28and clearing attachments within a conditional rendering block.
29
30include::{generated}/interfaces/VK_EXT_conditional_rendering.adoc[]
31
32=== Issues
33
341) Should conditional rendering affect copy and blit commands?
35
36*RESOLVED*: Conditional rendering should not affect copies and blits.
37
382) Should secondary command buffers be allowed to execute while conditional
39rendering is active in the primary command buffer?
40
41*RESOLVED*: The rendering commands in secondary command buffer will be
42affected by an active conditional rendering in primary command buffer if the
43pname:conditionalRenderingEnable is set to ename:VK_TRUE.
44Conditional rendering must: not be active in the primary command buffer if
45pname:conditionalRenderingEnable is ename:VK_FALSE.
46
47=== Examples
48
49None.
50
51=== Version History
52
53  * Revision 1, 2018-04-19 (Vikram Kushwaha)
54  ** First Version
55
56  * Revision 2, 2018-05-21 (Vikram Kushwaha)
57  ** Add new pipeline stage, access flags and limit conditional rendering to
58     a subpass or entire render pass.
59