VK_EXT_color_write_enable(3)

# VK_EXT_color_write_enable(3) Manual Page

## Name

VK_EXT_color_write_enable - device extension

Loading… please wait.

## Registered Extension Number

382

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## Contact

- Sharif Elcott [GitHub]selcott

## 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

- vkCmdSetColorWriteEnableEXT

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceColorWriteEnableFeaturesEXT

- Extending VkPipelineColorBlendStateCreateInfo:

  - VkPipelineColorWriteCreateInfoEXT

## 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

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0