// Copyright (c) 2020 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_EXT_color_write_enable.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2020-02-25
*IP Status*::
    No known IP claims.
*Contributors*::
  - Sharif Elcott, Google
  - Tobias Hector, AMD
  - Piers Daniell, NVIDIA

=== Description

This extension allows for selectively enabling and disabling writes to
output color attachments via a pipeline dynamic state.

The intended use cases for this new state are mostly identical to those of
colorWriteMask, such as selectively disabling writes to avoid feedback loops
between subpasses or bandwidth savings for unused outputs.
By making the state dynamic, one additional benefit is the ability to reduce
pipeline counts and pipeline switching via shaders that write a superset of
the desired data of which subsets are selected dynamically.
The reason for a new state, colorWriteEnable, rather than making
colorWriteMask dynamic is that, on many implementations, the more flexible
per-channel semantics of the colorWriteMask state cannot be made dynamic in
a performant manner.

include::{generated}/interfaces/VK_EXT_color_write_enable.txt[]

=== Version History

 * Revision 1, 2020-01-25 (Sharif Elcott)
   - Internal revisions
