Extension and Version Dependencies
-
Requires support for Vulkan 1.0
-
Requires
VK_KHR_get_physical_device_properties2
to be enabled for any device-level functionality
Contact
-
Shahbaz Youssefi syoussefi
Other Extension Metadata
- Last Modified Date
-
2022-03-31
- Contributors
-
-
Shahbaz Youssefi, Google
-
Graeme Leese, Broadcom
-
Jan-Harald Fredriksen, Arm
-
Description
This extension exposes a hardware feature used by some vendors to implement OpenGL’s dithering. The purpose of this extension is to support layering OpenGL over Vulkan, by allowing the layer to take advantage of the same hardware feature and provide equivalent dithering to OpenGL applications.
New Enum Constants
-
VK_EXT_LEGACY_DITHERING_EXTENSION_NAME
-
VK_EXT_LEGACY_DITHERING_SPEC_VERSION
-
Extending VkRenderingFlagBits:
-
VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT
-
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
-
-
Extending VkSubpassDescriptionFlagBits:
-
VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT
-
Issues
1) In OpenGL, the dither state can change dynamically. Should this extension add a pipeline state for dither?
RESOLVED: No. Changing dither state is rarely, if ever, done during rendering. Every surveyed Android application either entirely disables dither, explicitly enables it, or uses the default state (which is enabled). Additionally, on some hardware dither can only be specified in a render pass granularity, so a change in dither state would necessarily need to cause a render pass break. This extension considers dynamic changes in OpenGL dither state a theoretical situation, and expects the layer to break the render pass in such a situation without any practical downsides.
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.