vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_legacy_dithering

Description

Name

VK_EXT_legacy_dithering - device extension

VK_EXT_legacy_dithering

Name String
VK_EXT_legacy_dithering
Extension Type
Device extension
Registered Extension Number
466
Revision
2
Ratification Status
Ratified
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
API Interactions
  • Interacts with VK_VERSION_1_3
  • Interacts with VK_VERSION_1_4
  • Interacts with VK_KHR_dynamic_rendering
  • Interacts with VK_KHR_maintenance5
Special Use
Contact
Extension Proposal
VK_EXT_legacy_dithering

Other Extension Metadata

Last Modified Date
2024-02-22
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 Structures

New Enum Constants

If VK_KHR_dynamic_rendering or Vulkan Version 1.3 and VK_KHR_maintenance5 or Vulkan Version 1.4 is supported:

Version History

  • Revision 1, 2022-03-31 (Shahbaz Youssefi)

    • Internal revisions
  • Revision 2, 2024-02-22 (Shahbaz Youssefi)

    • Added pipeline create flag to support dynamic rendering

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.

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.

Synopsis

Documentation

data PhysicalDeviceLegacyDitheringFeaturesEXT Source #

VkPhysicalDeviceLegacyDitheringFeaturesEXT - Structure describing support for legacy dithering

Members

This structure describes the following feature:

Description

If the PhysicalDeviceLegacyDitheringFeaturesEXT structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceLegacyDitheringFeaturesEXT, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Valid Usage (Implicit)

See Also

VK_EXT_legacy_dithering, Bool32, StructureType

Constructors

PhysicalDeviceLegacyDitheringFeaturesEXT 

Fields

Instances

Instances details
Eq PhysicalDeviceLegacyDitheringFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_legacy_dithering

Storable PhysicalDeviceLegacyDitheringFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_legacy_dithering

Show PhysicalDeviceLegacyDitheringFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_legacy_dithering

FromCStruct PhysicalDeviceLegacyDitheringFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_legacy_dithering

ToCStruct PhysicalDeviceLegacyDitheringFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_legacy_dithering

Zero PhysicalDeviceLegacyDitheringFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_legacy_dithering

type EXT_LEGACY_DITHERING_EXTENSION_NAME = "VK_EXT_legacy_dithering" Source #