| // Copyright 2018-2021 The Khronos Group Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_EXT_conditional_rendering.txt[] |
| |
| === 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. |
| |
| include::{generated}/interfaces/VK_EXT_conditional_rendering.txt[] |
| |
| === 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 render pass. |