| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_present_mode_fifo_latest_ready
Description
Name
VK_EXT_present_mode_fifo_latest_ready - device extension
VK_EXT_present_mode_fifo_latest_ready
- Name String
VK_EXT_present_mode_fifo_latest_ready
- Extension Type
- Device extension
- Registered Extension Number
- 362
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_swapchain
- Contact
- Extension Proposal
- VK_EXT_present_mode_fifo_latest_ready
Other Extension Metadata
- Last Modified Date
- 2024-05-28
- IP Status
- No known IP claims.
- Contributors
- James Jones, NVIDIA
- Lionel Duc, NVIDIA
Description
This device extension adds a new present mode,
PRESENT_MODE_FIFO_LATEST_READY_EXT.
This tear-free present mode behaves much like
PRESENT_MODE_FIFO_KHR, except that
each vertical blanking period dequeues consecutive present requests
until the latest ready is found to update the current image.
While this seems similar in concept to
PRESENT_MODE_MAILBOX_KHR, the
fundamental difference is that the processing of the present requests is
done during vblank. From the application perspective, this means for
example, that in a flip-based model, a single vblank may cause
multiple swapchain images to be released at once, while
PRESENT_MODE_MAILBOX_KHR may
continuously be releasing images as new requests become ready.
This additional present mode is useful when using a time-based present API.
New Structures
Extending
PhysicalDeviceFeatures2,DeviceCreateInfo:
New Enum Constants
EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSIONExtending
PresentModeKHR:Extending
StructureType:
Version History
Revision 1, 2024-05-28 (Lionel Duc)
- 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.
Synopsis
- data PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT = PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT {}
- type EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION = 1
- pattern EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION :: forall a. Integral a => a
- type EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME = "VK_EXT_present_mode_fifo_latest_ready"
- pattern EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype PresentModeKHR where
- PresentModeKHR Int32
- pattern PRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR
- pattern PRESENT_MODE_MAILBOX_KHR :: PresentModeKHR
- pattern PRESENT_MODE_FIFO_KHR :: PresentModeKHR
- pattern PRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR
- pattern PRESENT_MODE_FIFO_LATEST_READY_EXT :: PresentModeKHR
- pattern PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
- pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
Documentation
data PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT Source #
VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT - Structure describing support for VK_PRESENT_MODE_FIFO_LATEST_READY_EXT
Description
If the PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT 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. PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT can
also be used in the pNext chain of
DeviceCreateInfo to selectively enable these
features.
Valid Usage (Implicit)
See Also
VK_EXT_present_mode_fifo_latest_ready,
Bool32,
StructureType
Constructors
| PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT | |
Fields
| |
Instances
pattern EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME = "VK_EXT_present_mode_fifo_latest_ready" Source #
pattern EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype PresentModeKHR Source #
VkPresentModeKHR - Presentation mode supported for a surface
Description
The supported
ImageUsageFlagBits of the
presentable images of a swapchain created for a surface may differ
depending on the presentation mode, and can be determined as per the
table below:
| Presentation mode | Image usage flags |
|---|---|
PRESENT_MODE_IMMEDIATE_KHR | SurfaceCapabilitiesKHR::supportedUsageFlags |
PRESENT_MODE_MAILBOX_KHR | SurfaceCapabilitiesKHR::supportedUsageFlags |
PRESENT_MODE_FIFO_KHR | SurfaceCapabilitiesKHR::supportedUsageFlags |
PRESENT_MODE_FIFO_RELAXED_KHR | SurfaceCapabilitiesKHR::supportedUsageFlags |
PRESENT_MODE_FIFO_LATEST_READY_EXT | SurfaceCapabilitiesKHR::supportedUsageFlags |
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR | SharedPresentSurfaceCapabilitiesKHR::sharedPresentSupportedUsageFlags |
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR | SharedPresentSurfaceCapabilitiesKHR::sharedPresentSupportedUsageFlags |
Presentable Image Usage Queries
For reference, the mode indicated by PRESENT_MODE_FIFO_KHR is
equivalent to the behavior of {wgl|glX|egl}SwapBuffers with a swap
interval of 1, while the mode indicated by
PRESENT_MODE_FIFO_RELAXED_KHR is equivalent to the behavior of
{wgl|glX}SwapBuffers with a swap interval of -1 (from the
{WGL|GLX}_EXT_swap_control_tear extensions).
See Also
VK_KHR_surface,
LatencySurfaceCapabilitiesNV,
SurfacePresentModeCompatibilityEXT,
SurfacePresentModeEXT,
SwapchainCreateInfoKHR,
SwapchainPresentModeInfoEXT,
SwapchainPresentModesCreateInfoEXT,
getPhysicalDeviceSurfacePresentModes2EXT,
getPhysicalDeviceSurfacePresentModesKHR
Constructors
| PresentModeKHR Int32 |
Bundled Patterns
| pattern PRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR |
|
| pattern PRESENT_MODE_MAILBOX_KHR :: PresentModeKHR |
|
| pattern PRESENT_MODE_FIFO_KHR :: PresentModeKHR |
|
| pattern PRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR |
|
| pattern PRESENT_MODE_FIFO_LATEST_READY_EXT :: PresentModeKHR |
|
| pattern PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR |
|
| pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR |
|