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.
VK_EXT_color_write_enableVK_KHR_get_physical_device_properties2 or Version 1.1| Modifier and Type | Field and Description |
|---|---|
| public static final int | VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
Extends |
| public static final String | VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME
The extension name. |
| public static final int | VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION
The extension specification version. |
| public static final int | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
Extends |
| public static final int | VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT
Extends |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static void | nvkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, int
the number of attachmentCount, long pColorWriteEnables)VkBool32 elements in pColorWriteEnables.Unsafe version of: |
| public static void | vkCmdSetColorWriteEnableEXT(VkCommandBuffer
the command buffer into which the command will be recorded. commandBuffer, IntBuffer a pointer to an array of per target attachment boolean values specifying whether color writes are enabled for the given attachment. pColorWriteEnables)Enable or disable writes to a color attachment dynamically for a command buffer. |
| public static void | vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, int[] pColorWriteEnables)
Array version of: |
| VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT | back to summary |
|---|---|
| public static final int VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT Extends | |
| VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME The extension name. | |
| VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION The extension specification version. | |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT Extends Enum values: | |
| VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT Extends Enum values: | |
| EXTColorWriteEnable | back to summary |
|---|---|
| protected EXTColorWriteEnable() | |
| nvkCmdSetColorWriteEnableEXT | back to summary |
|---|---|
| public static void nvkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, int attachmentCount, long pColorWriteEnables) Unsafe version of:
| |
| vkCmdSetColorWriteEnableEXT | back to summary | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| public static void vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, IntBuffer pColorWriteEnables) Enable or disable writes to a color attachment dynamically for a command buffer. C SpecificationTo dynamically enable or disable writes to a color attachment, call:
DescriptionThis command sets the color write enables for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with Valid Usage
Valid Usage (Implicit)
Host Synchronization
Command Properties
| |||||||||||
| vkCmdSetColorWriteEnableEXT | back to summary |
|---|---|
| public static void vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, int[] pColorWriteEnables) Array version of: | |