VK_EXT_color_write_enable

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-component semantics of the colorWriteMask state cannot be made dynamic in a performant manner.

New Commands

New Structures

New Enum Constants

  • VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME
  • VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION
  • Extending VkDynamicState:
    • VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
    • VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT

Version History

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