Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
VK_EXT_full_screen_exclusive - device extension
VK_EXT_full_screen_exclusive
- Name String
VK_EXT_full_screen_exclusive
- Extension Type
- Device extension
- Registered Extension Number
- 256
- Revision
- 4
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
- Requires
VK_KHR_surface
- Requires
VK_KHR_get_surface_capabilities2
- Requires
VK_KHR_swapchain
- Contact
Other Extension Metadata
- Last Modified Date
- 2019-03-12
- IP Status
- No known IP claims.
- Interactions and External Dependencies
- Interacts with Vulkan 1.1
- Interacts with
VK_KHR_device_group
- Interacts with
VK_KHR_win32_surface
- Contributors
- Hans-Kristian Arntzen, ARM
- Slawomir Grajewski, Intel
- Tobias Hector, AMD
- James Jones, NVIDIA
- Daniel Rakos, AMD
- Jeff Juliano, NVIDIA
- Joshua Schnarr, NVIDIA
- Aaron Hagan, AMD
Description
This extension allows applications to set the policy for swapchain creation and presentation mechanisms relating to full-screen access. Implementations may be able to acquire exclusive access to a particular display for an application window that covers the whole screen. This can increase performance on some systems by bypassing composition, however it can also result in disruptive or expensive transitions in the underlying windowing system when a change occurs.
Applications can choose between explicitly disallowing or allowing this
behavior, letting the implementation decide, or managing this mode of
operation directly using the new acquireFullScreenExclusiveModeEXT
and
releaseFullScreenExclusiveModeEXT
commands.
New Commands
If VK_KHR_device_group is supported:
If Version 1.1 is supported:
New Structures
If VK_KHR_win32_surface is supported:
Extending
PhysicalDeviceSurfaceInfo2KHR
,SwapchainCreateInfoKHR
:
New Enums
New Enum Constants
EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION
Extending
Result
:Extending
StructureType
:
If VK_KHR_win32_surface is supported:
Issues
1) What should the extension & flag be called?
RESOLVED: VK_EXT_full_screen_exclusive.
Other options considered (prior to the app-controlled mode) were:
- VK_EXT_smooth_fullscreen_transition
- VK_EXT_fullscreen_behavior
- VK_EXT_fullscreen_preference
- VK_EXT_fullscreen_hint
- VK_EXT_fast_fullscreen_transition
- VK_EXT_avoid_fullscreen_exclusive
2) Do we need more than a boolean toggle?
RESOLVED: Yes.
Using an enum with default/allowed/disallowed/app-controlled enables applications to accept driver default behavior, specifically override it in either direction without implying the driver is ever required to use full-screen exclusive mechanisms, or manage this mode explicitly.
3) Should this be a KHR or EXT extension?
RESOLVED: EXT, in order to allow it to be shipped faster.
4) Can the fullscreen hint affect the surface capabilities, and if so, should the hint also be specified as input when querying the surface capabilities?
RESOLVED: Yes on both accounts.
While the hint does not guarantee a particular fullscreen mode will be used when the swapchain is created, it can sometimes imply particular modes will NOT be used. If the driver determines that it will opt-out of using a particular mode based on the policy, and knows it can only support certain capabilities if that mode is used, it would be confusing at best to the application to report those capabilities in such cases. Not allowing implementations to report this state to applications could result in situations where applications are unable to determine why swapchain creation fails when they specify certain hint values, which could result in never- terminating surface creation loops.
5) Should full-screen be one word or two?
RESOLVED: Two words.
"Fullscreen" is not in my dictionary, and web searches did not turn up definitive proof that it is a colloquially accepted compound word. Documentation for the corresponding Windows API mechanisms dithers. The text consistently uses a hyphen, but none-the-less, there is a SetFullscreenState method in the DXGI swapchain object. Given this inconclusive external guidance, it is best to adhere to the Vulkan style guidelines and avoid inventing new compound words.
Version History
Revision 4, 2019-03-12 (Tobias Hector)
- Added application-controlled mode, and related functions
- Tidied up appendix
Revision 3, 2019-01-03 (James Jones)
- Renamed to VK_EXT_full_screen_exclusive
- Made related adjustments to the tri-state enumerant names.
Revision 2, 2018-11-27 (James Jones)
- Renamed to VK_KHR_fullscreen_behavior
- Switched from boolean flag to tri-state enum
Revision 1, 2018-11-06 (James Jones)
- Internal revision
See Also
FullScreenExclusiveEXT
, SurfaceCapabilitiesFullScreenExclusiveEXT
,
SurfaceFullScreenExclusiveInfoEXT
,
acquireFullScreenExclusiveModeEXT
,
getPhysicalDeviceSurfacePresentModes2EXT
,
releaseFullScreenExclusiveModeEXT
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
- getPhysicalDeviceSurfacePresentModes2EXT :: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) => PhysicalDevice -> PhysicalDeviceSurfaceInfo2KHR a -> io (Result, "presentModes" ::: Vector PresentModeKHR)
- getDeviceGroupSurfacePresentModes2EXT :: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) => Device -> PhysicalDeviceSurfaceInfo2KHR a -> io ("modes" ::: DeviceGroupPresentModeFlagsKHR)
- acquireFullScreenExclusiveModeEXT :: forall io. MonadIO io => Device -> SwapchainKHR -> io ()
- releaseFullScreenExclusiveModeEXT :: forall io. MonadIO io => Device -> SwapchainKHR -> io ()
- data SurfaceFullScreenExclusiveInfoEXT = SurfaceFullScreenExclusiveInfoEXT {}
- data SurfaceFullScreenExclusiveWin32InfoEXT = SurfaceFullScreenExclusiveWin32InfoEXT {}
- data SurfaceCapabilitiesFullScreenExclusiveEXT = SurfaceCapabilitiesFullScreenExclusiveEXT {}
- newtype FullScreenExclusiveEXT where
- FullScreenExclusiveEXT Int32
- pattern FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT :: FullScreenExclusiveEXT
- pattern FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT :: FullScreenExclusiveEXT
- pattern FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT :: FullScreenExclusiveEXT
- pattern FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT :: FullScreenExclusiveEXT
- type EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION = 4
- pattern EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION :: forall a. Integral a => a
- type EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME = "VK_EXT_full_screen_exclusive"
- pattern EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- type HMONITOR = Ptr ()
- newtype SurfaceKHR = SurfaceKHR Word64
- newtype SwapchainKHR = SwapchainKHR Word64
- data PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) = PhysicalDeviceSurfaceInfo2KHR {
- next :: Chain es
- surface :: SurfaceKHR
- 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_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
- pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
- newtype DeviceGroupPresentModeFlagBitsKHR where
- DeviceGroupPresentModeFlagBitsKHR Flags
- pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
- pattern DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
- pattern DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
- pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
- type DeviceGroupPresentModeFlagsKHR = DeviceGroupPresentModeFlagBitsKHR
Documentation
getPhysicalDeviceSurfacePresentModes2EXT Source #
:: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) | |
=> PhysicalDevice |
|
-> PhysicalDeviceSurfaceInfo2KHR a |
|
-> io (Result, "presentModes" ::: Vector PresentModeKHR) |
vkGetPhysicalDeviceSurfacePresentModes2EXT - Query supported presentation modes
Description
getPhysicalDeviceSurfacePresentModes2EXT
behaves similarly to
getPhysicalDeviceSurfacePresentModesKHR
,
with the ability to specify extended inputs via chained input
structures.
Valid Usage (Implicit)
-
physicalDevice
must be a validPhysicalDevice
handle
-
pSurfaceInfo
must be a valid pointer to a validPhysicalDeviceSurfaceInfo2KHR
structure -
pPresentModeCount
must be a valid pointer to auint32_t
value -
If the value referenced by
pPresentModeCount
is not0
, andpPresentModes
is notNULL
,pPresentModes
must be a valid pointer to an array ofpPresentModeCount
PresentModeKHR
values
Return Codes
See Also
PhysicalDevice
,
PhysicalDeviceSurfaceInfo2KHR
,
PresentModeKHR
getDeviceGroupSurfacePresentModes2EXT Source #
:: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) | |
=> Device |
|
-> PhysicalDeviceSurfaceInfo2KHR a |
|
-> io ("modes" ::: DeviceGroupPresentModeFlagsKHR) |
vkGetDeviceGroupSurfacePresentModes2EXT - Query device group present capabilities for a surface
Description
getDeviceGroupSurfacePresentModes2EXT
behaves similarly to
getDeviceGroupSurfacePresentModesKHR
,
with the ability to specify extended inputs via chained input
structures.
Return Codes
See Also
Device
,
DeviceGroupPresentModeFlagsKHR
,
PhysicalDeviceSurfaceInfo2KHR
acquireFullScreenExclusiveModeEXT Source #
:: forall io. MonadIO io | |
=> Device |
|
-> SwapchainKHR |
|
-> io () |
vkAcquireFullScreenExclusiveModeEXT - Acquire full-screen exclusive mode for a swapchain
Valid Usage
-
swapchain
must be a swapchain created with aSurfaceFullScreenExclusiveInfoEXT
structure, withfullScreenExclusive
set toFULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
-
swapchain
must not currently have exclusive full-screen access
A return value of SUCCESS
indicates that
the swapchain
successfully acquired exclusive full-screen access. The
swapchain will retain this exclusivity until either the application
releases exclusive full-screen access with
releaseFullScreenExclusiveModeEXT
, destroys the swapchain, or if any
of the swapchain commands return
ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT
indicating that the mode was lost because of platform-specific changes.
If the swapchain was unable to acquire exclusive full-screen access to
the display then
ERROR_INITIALIZATION_FAILED
is returned. An
application can attempt to acquire exclusive full-screen access again
for the same swapchain even if this command fails, or if
ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT
has been returned by a swapchain command.
Valid Usage (Implicit)
-
device
must be a validDevice
handle
-
swapchain
must be a validSwapchainKHR
handle - Both of
device
, andswapchain
must have been created, allocated, or retrieved from the sameInstance
Return Codes
See Also
releaseFullScreenExclusiveModeEXT Source #
:: forall io. MonadIO io | |
=> Device |
|
-> SwapchainKHR |
|
-> io () |
vkReleaseFullScreenExclusiveModeEXT - Release full-screen exclusive mode from a swapchain
Description
Note
Applications will not be able to present to swapchain
after this call
until exclusive full-screen access is reacquired. This is usually useful
to handle when an application is minimised or otherwise intends to stop
presenting for a time.
Valid Usage
See Also
data SurfaceFullScreenExclusiveInfoEXT Source #
VkSurfaceFullScreenExclusiveInfoEXT - Structure specifying the preferred full-screen transition behavior
Description
If this structure is not present, fullScreenExclusive
is considered to
be FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT
.
Valid Usage (Implicit)
See Also
SurfaceFullScreenExclusiveInfoEXT | |
|
Instances
data SurfaceFullScreenExclusiveWin32InfoEXT Source #
VkSurfaceFullScreenExclusiveWin32InfoEXT - Structure specifying additional creation parameters specific to Win32 fullscreen exclusive mode
Description
Note
If hmonitor
is invalidated (e.g. the monitor is unplugged) during the
lifetime of a swapchain created with this structure, operations on that
swapchain will return
ERROR_OUT_OF_DATE_KHR
.
Note
It is the responsibility of the application to change the display settings of the targeted Win32 display using the appropriate platform APIs. Such changes may alter the surface capabilities reported for the created surface.
Valid Usage (Implicit)
See Also
Instances
data SurfaceCapabilitiesFullScreenExclusiveEXT Source #
VkSurfaceCapabilitiesFullScreenExclusiveEXT - Structure describing full screen exclusive capabilities of a surface
Description
This structure can be included in the pNext
chain of
SurfaceCapabilities2KHR
to determine support for exclusive full-screen access. If
fullScreenExclusiveSupported
is
FALSE
, it indicates that exclusive
full-screen access is not obtainable for this surface.
Applications must not attempt to create swapchains with
FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
set if
fullScreenExclusiveSupported
is
FALSE
.
Valid Usage (Implicit)
See Also
Instances
newtype FullScreenExclusiveEXT Source #
VkFullScreenExclusiveEXT - Hint values an application can specify affecting full-screen transition behavior
See Also
pattern FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT :: FullScreenExclusiveEXT |
|
pattern FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT :: FullScreenExclusiveEXT |
|
pattern FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT :: FullScreenExclusiveEXT |
|
pattern FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT :: FullScreenExclusiveEXT |
|
Instances
pattern EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME = "VK_EXT_full_screen_exclusive" Source #
pattern EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype SurfaceKHR Source #
VkSurfaceKHR - Opaque handle to a surface object
Description
The VK_KHR_surface
extension declares the SurfaceKHR
object, and
provides a function for destroying SurfaceKHR
objects. Separate
platform-specific extensions each provide a function for creating a
SurfaceKHR
object for the respective platform. From the application’s
perspective this is an opaque handle, just like the handles of other
Vulkan objects.
See Also
PhysicalDeviceSurfaceInfo2KHR
,
SwapchainCreateInfoKHR
,
createAndroidSurfaceKHR
,
createDirectFBSurfaceEXT
,
createDisplayPlaneSurfaceKHR
,
createHeadlessSurfaceEXT
,
createIOSSurfaceMVK
,
createImagePipeSurfaceFUCHSIA
,
createMacOSSurfaceMVK
,
createMetalSurfaceEXT
,
createScreenSurfaceQNX
,
createStreamDescriptorSurfaceGGP
,
createViSurfaceNN
,
createWaylandSurfaceKHR
,
createWin32SurfaceKHR
,
createXcbSurfaceKHR
,
createXlibSurfaceKHR
,
destroySurfaceKHR
,
getDeviceGroupSurfacePresentModesKHR
,
getPhysicalDevicePresentRectanglesKHR
,
getPhysicalDeviceSurfaceCapabilities2EXT
,
getPhysicalDeviceSurfaceCapabilitiesKHR
,
getPhysicalDeviceSurfaceFormatsKHR
,
getPhysicalDeviceSurfacePresentModesKHR
,
getPhysicalDeviceSurfaceSupportKHR
Instances
newtype SwapchainKHR Source #
VkSwapchainKHR - Opaque handle to a swapchain object
Description
A swapchain is an abstraction for an array of presentable images that
are associated with a surface. The presentable images are represented by
Image
objects created by the platform. One image
(which can be an array image for multiview/stereoscopic-3D surfaces)
is displayed at a time, but multiple images can be queued for
presentation. An application renders to the image, and then queues the
image for presentation to the surface.
A native window cannot be associated with more than one non-retired swapchain at a time. Further, swapchains cannot be created for native windows that have a non-Vulkan graphics API surface associated with them.
Note
The presentation engine is an abstraction for the platform’s compositor or display engine.
The presentation engine may be synchronous or asynchronous with respect to the application and/or logical device.
Some implementations may use the device’s graphics queue or dedicated presentation hardware to perform presentation.
The presentable images of a swapchain are owned by the presentation
engine. An application can acquire use of a presentable image from the
presentation engine. Use of a presentable image must occur only after
the image is returned by
acquireNextImageKHR
, and before it
is released by queuePresentKHR
.
This includes transitioning the image layout and rendering commands.
An application can acquire use of a presentable image with
acquireNextImageKHR
. After
acquiring a presentable image and before modifying it, the application
must use a synchronization primitive to ensure that the presentation
engine has finished reading from the image. The application can then
transition the image’s layout, queue rendering commands to it, etc.
Finally, the application presents the image with
queuePresentKHR
, which releases the
acquisition of the image.
The presentation engine controls the order in which presentable images are acquired for use by the application.
Note
This allows the platform to handle situations which require out-of-order return of images after presentation. At the same time, it allows the application to generate command buffers referencing all of the images in the swapchain at initialization time, rather than in its main loop.
See Also
AcquireNextImageInfoKHR
,
BindImageMemorySwapchainInfoKHR
,
ImageSwapchainCreateInfoKHR
,
PresentInfoKHR
,
SwapchainCreateInfoKHR
,
acquireFullScreenExclusiveModeEXT
,
acquireNextImageKHR
,
createSharedSwapchainsKHR
,
createSwapchainKHR
,
destroySwapchainKHR
,
getPastPresentationTimingGOOGLE
,
getRefreshCycleDurationGOOGLE
,
getSwapchainCounterEXT
,
getSwapchainImagesKHR
,
getSwapchainStatusKHR
,
releaseFullScreenExclusiveModeEXT
,
setHdrMetadataEXT
,
setLocalDimmingAMD
,
waitForPresentKHR
Instances
data PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) Source #
VkPhysicalDeviceSurfaceInfo2KHR - Structure specifying a surface and related swapchain creation parameters
Description
The members of PhysicalDeviceSurfaceInfo2KHR
correspond to the
arguments to
getPhysicalDeviceSurfaceCapabilitiesKHR
,
with sType
and pNext
added for extensibility.
Additional capabilities of a surface may be available to swapchains
created with different full-screen exclusive settings - particularly if
exclusive full-screen access is application controlled. These additional
capabilities can be queried by adding a
SurfaceFullScreenExclusiveInfoEXT
structure to the pNext
chain of this structure when used to query
surface properties. Additionally, for Win32 surfaces with application
controlled exclusive full-screen access, chaining a
SurfaceFullScreenExclusiveWin32InfoEXT
structure may also report additional surface capabilities. These
additional capabilities only apply to swapchains created with the same
parameters included in the pNext
chain of
SwapchainCreateInfoKHR
.
Valid Usage
- If the
pNext
chain includes aSurfaceFullScreenExclusiveInfoEXT
structure with itsfullScreenExclusive
member set toFULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
, andsurface
was created usingcreateWin32SurfaceKHR
, aSurfaceFullScreenExclusiveWin32InfoEXT
structure must be included in thepNext
chain
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofSurfaceFullScreenExclusiveInfoEXT
orSurfaceFullScreenExclusiveWin32InfoEXT
- The
sType
value of each struct in thepNext
chain must be unique -
surface
must be a validSurfaceKHR
handle
See Also
StructureType
,
SurfaceKHR
,
getDeviceGroupSurfacePresentModes2EXT
,
getPhysicalDeviceSurfaceCapabilities2KHR
,
getPhysicalDeviceSurfaceFormats2KHR
,
getPhysicalDeviceSurfacePresentModes2EXT
PhysicalDeviceSurfaceInfo2KHR | |
|
Instances
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_SHARED_DEMAND_REFRESH_KHR | SharedPresentSurfaceCapabilitiesKHR ::sharedPresentSupportedUsageFlags |
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR | SharedPresentSurfaceCapabilitiesKHR ::sharedPresentSupportedUsageFlags |
Presentable image usage queries
Note
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
SwapchainCreateInfoKHR
,
getPhysicalDeviceSurfacePresentModes2EXT
,
getPhysicalDeviceSurfacePresentModesKHR
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_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR |
|
pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR |
|
Instances
newtype DeviceGroupPresentModeFlagBitsKHR Source #
VkDeviceGroupPresentModeFlagBitsKHR - Bitmask specifying supported device group present modes
See Also
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR |
|
pattern DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR |
|
pattern DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR |
|
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR |
|