vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Core12.Enums.ResolveModeFlagBits

Synopsis

Documentation

newtype ResolveModeFlagBits Source #

VkResolveModeFlagBits - Bitmask indicating supported depth and stencil resolve modes

Description

  • RESOLVE_MODE_SAMPLE_ZERO_BIT specifies that result of the resolve operation is equal to the value of sample 0.
  • RESOLVE_MODE_AVERAGE_BIT specifies that result of the resolve operation is the average of the sample values.
  • RESOLVE_MODE_MIN_BIT specifies that result of the resolve operation is the minimum of the sample values.
  • RESOLVE_MODE_MAX_BIT specifies that result of the resolve operation is the maximum of the sample values.
  • RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID specifies that rather than a multisample resolve, a single sampled color attachment will be downsampled into a Y′CBCR format image specified by an external Android format. Unlike other resolve modes, implementations can resolve multiple times during rendering, or even bypass writing to the color attachment altogether, as long as the final value is resolved to the resolve attachment. Values in the G, B, and R channels of the color attachment will be written to the Y, CB, and CR channels of the external format image, respectively. Chroma values are calculated as if sampling with a linear filter from the color attachment at full rate, at the location the chroma values sit according to PhysicalDeviceExternalFormatResolvePropertiesANDROID::externalFormatResolveChromaOffsetX, PhysicalDeviceExternalFormatResolvePropertiesANDROID::externalFormatResolveChromaOffsetY, and the chroma sample rate of the resolved image.
  • RESOLVE_MODE_CUSTOM_BIT_EXT specifies that the attachment will be resolved by shaders in the render pass instead of fixed-function operations.

If no resolve mode is otherwise specified, RESOLVE_MODE_AVERAGE_BIT is used.

If RESOLVE_MODE_AVERAGE_BIT is used, and the source format is a floating-point or normalized type, the sample values for each pixel are resolved with implementation-defined numerical precision.

If the numeric format of the resolve attachment uses sRGB encoding, the implementation should convert samples from nonlinear to linear before averaging samples as described in the “sRGB EOTF” section of the Khronos Data Format Specification. In this case, the implementation must convert the linear averaged value to nonlinear before writing the resolved result to resolve attachment. If the maintenance10 feature is enabled, whether a nonlinear to linear conversion happens for sRGB resolve is defined by resolveSrgbFormatAppliesTransferFunction. This behavior can be overridden with appropriate VK_*RESOLVE{SKIP,ENABLE}_TRANSFER_FUNCTION_BIT_KHR flag usage.

No range compression or Y′CBCR model conversion is performed by RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID; applications have to do these conversions themselves. Value outputs are expected to match those that would be read through a Y′CBCR sampler using. The color space that the values should be in is defined by the platform and is not exposed via Vulkan.

See Also

VK_KHR_depth_stencil_resolve, VK_VERSION_1_2, RenderingAttachmentInfo, ResolveImageModeInfoKHR, ResolveModeFlags, SubpassDescriptionDepthStencilResolve

Instances

Instances details
Bits ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits

FiniteBits ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits

Eq ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits

Ord ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits

Storable ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits

Read ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits

Show ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits

Zero ResolveModeFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.ResolveModeFlagBits