vulkan-3.3: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_display_control

Synopsis

Documentation

displayPowerControlEXT :: forall io. MonadIO io => Device -> DisplayKHR -> DisplayPowerInfoEXT -> io () Source #

vkDisplayPowerControlEXT - Set the power state of a display

Parameters

  • device is a logical device associated with display.
  • display is the display whose power state is modified.
  • pDisplayPowerInfo is a DisplayPowerInfoEXT structure specifying the new power state of display.

Valid Usage (Implicit)

  • device must be a valid Device handle
  • display must be a valid DisplayKHR handle
  • pDisplayPowerInfo must be a valid pointer to a valid DisplayPowerInfoEXT structure
  • Both of device, and display must have been created, allocated, or retrieved from the same PhysicalDevice

Return Codes

Success

See Also

Device, DisplayKHR, DisplayPowerInfoEXT

registerDeviceEventEXT :: forall io. MonadIO io => Device -> DeviceEventInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io Fence Source #

vkRegisterDeviceEventEXT - Signal a fence when a device event occurs

Parameters

  • device is a logical device on which the event may occur.
  • pDeviceEventInfo is a pointer to a DeviceEventInfoEXT structure describing the event of interest to the application.
  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.
  • pFence is a pointer to a handle in which the resulting fence object is returned.

Valid Usage (Implicit)

  • device must be a valid Device handle
  • pDeviceEventInfo must be a valid pointer to a valid DeviceEventInfoEXT structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pFence must be a valid pointer to a Fence handle

Return Codes

Success

See Also

AllocationCallbacks, Device, DeviceEventInfoEXT, Fence

registerDisplayEventEXT :: forall io. MonadIO io => Device -> DisplayKHR -> DisplayEventInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io Fence Source #

vkRegisterDisplayEventEXT - Signal a fence when a display event occurs

Parameters

  • device is a logical device associated with display
  • display is the display on which the event may occur.
  • pDisplayEventInfo is a pointer to a DisplayEventInfoEXT structure describing the event of interest to the application.
  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.
  • pFence is a pointer to a handle in which the resulting fence object is returned.

Valid Usage (Implicit)

  • device must be a valid Device handle
  • display must be a valid DisplayKHR handle
  • pDisplayEventInfo must be a valid pointer to a valid DisplayEventInfoEXT structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pFence must be a valid pointer to a Fence handle
  • Both of device, and display must have been created, allocated, or retrieved from the same PhysicalDevice

Return Codes

Success

See Also

AllocationCallbacks, Device, DisplayEventInfoEXT, DisplayKHR, Fence

getSwapchainCounterEXT :: forall io. MonadIO io => Device -> SwapchainKHR -> SurfaceCounterFlagBitsEXT -> io ("counterValue" ::: Word64) Source #

vkGetSwapchainCounterEXT - Query the current value of a surface counter

Parameters

  • device is the Device associated with swapchain.
  • swapchain is the swapchain from which to query the counter value.
  • counter is the counter to query.
  • pCounterValue will return the current value of the counter.

Description

If a counter is not available because the swapchain is out of date, the implementation may return ERROR_OUT_OF_DATE_KHR.

Valid Usage

  • One or more present commands on swapchain must have been processed by the presentation engine

Valid Usage (Implicit)

  • device must be a valid Device handle
  • swapchain must be a valid SwapchainKHR handle
  • counter must be a valid SurfaceCounterFlagBitsEXT value
  • pCounterValue must be a valid pointer to a uint64_t value
  • Both of device, and swapchain must have been created, allocated, or retrieved from the same Instance

Return Codes

Success
Failure

See Also

Device, SurfaceCounterFlagBitsEXT, SwapchainKHR

data DisplayPowerInfoEXT Source #

VkDisplayPowerInfoEXT - Describe the power state of a display

Valid Usage (Implicit)

See Also

DisplayPowerStateEXT, StructureType, displayPowerControlEXT

Constructors

DisplayPowerInfoEXT 

Fields

Instances

Instances details
Show DisplayPowerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Storable DisplayPowerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

FromCStruct DisplayPowerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

ToCStruct DisplayPowerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Zero DisplayPowerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

data DeviceEventInfoEXT Source #

VkDeviceEventInfoEXT - Describe a device event to create

Valid Usage (Implicit)

See Also

DeviceEventTypeEXT, StructureType, registerDeviceEventEXT

Constructors

DeviceEventInfoEXT 

Fields

Instances

Instances details
Show DeviceEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Storable DeviceEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

FromCStruct DeviceEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

ToCStruct DeviceEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Zero DeviceEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

data DisplayEventInfoEXT Source #

VkDisplayEventInfoEXT - Describe a display event to create

Valid Usage (Implicit)

See Also

DisplayEventTypeEXT, StructureType, registerDisplayEventEXT

Constructors

DisplayEventInfoEXT 

Fields

Instances

Instances details
Show DisplayEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Storable DisplayEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

FromCStruct DisplayEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

ToCStruct DisplayEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Zero DisplayEventInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

data SwapchainCounterCreateInfoEXT Source #

VkSwapchainCounterCreateInfoEXT - Specify the surface counters desired

Valid Usage

Valid Usage (Implicit)

See Also

StructureType, SurfaceCounterFlagsEXT

Constructors

SwapchainCounterCreateInfoEXT 

Fields

Instances

Instances details
Show SwapchainCounterCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Storable SwapchainCounterCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

FromCStruct SwapchainCounterCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

ToCStruct SwapchainCounterCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Zero SwapchainCounterCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

newtype DisplayPowerStateEXT Source #

VkDisplayPowerStateEXT - Possible power states for a display

See Also

DisplayPowerInfoEXT

Bundled Patterns

pattern DISPLAY_POWER_STATE_OFF_EXT :: DisplayPowerStateEXT

DISPLAY_POWER_STATE_OFF_EXT specifies that the display is powered down.

pattern DISPLAY_POWER_STATE_SUSPEND_EXT :: DisplayPowerStateEXT

DISPLAY_POWER_STATE_SUSPEND_EXT specifies that the display is put into a low power mode, from which it may be able to transition back to DISPLAY_POWER_STATE_ON_EXT more quickly than if it were in DISPLAY_POWER_STATE_OFF_EXT. This state may be the same as DISPLAY_POWER_STATE_OFF_EXT.

pattern DISPLAY_POWER_STATE_ON_EXT :: DisplayPowerStateEXT

DISPLAY_POWER_STATE_ON_EXT specifies that the display is powered on.

Instances

Instances details
Eq DisplayPowerStateEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Ord DisplayPowerStateEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Read DisplayPowerStateEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Show DisplayPowerStateEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Storable DisplayPowerStateEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Zero DisplayPowerStateEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

newtype DeviceEventTypeEXT Source #

VkDeviceEventTypeEXT - Events that can occur on a device object

See Also

DeviceEventInfoEXT

Bundled Patterns

pattern DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: DeviceEventTypeEXT

DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT specifies that the fence is signaled when a display is plugged into or unplugged from the specified device. Applications can use this notification to determine when they need to re-enumerate the available displays on a device.

Instances

Instances details
Eq DeviceEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Ord DeviceEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Read DeviceEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Show DeviceEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Storable DeviceEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Zero DeviceEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

newtype DisplayEventTypeEXT Source #

VkDisplayEventTypeEXT - Events that can occur on a display object

See Also

DisplayEventInfoEXT

Bundled Patterns

pattern DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT :: DisplayEventTypeEXT

DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT specifies that the fence is signaled when the first pixel of the next display refresh cycle leaves the display engine for the display.

Instances

Instances details
Eq DisplayEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Ord DisplayEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Read DisplayEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Show DisplayEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Storable DisplayEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

Zero DisplayEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_control

type EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control" Source #

pattern EXT_DISPLAY_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #

newtype DisplayKHR Source #

Constructors

DisplayKHR Word64 

Instances

Instances details
Eq DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

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 presented 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

Constructors

SwapchainKHR Word64 

Instances

Instances details
Eq SwapchainKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord SwapchainKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show SwapchainKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable SwapchainKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero SwapchainKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType SwapchainKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle SwapchainKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

newtype SurfaceCounterFlagBitsEXT Source #

VkSurfaceCounterFlagBitsEXT - Surface-relative counter types

See Also

SurfaceCounterFlagsEXT, getSwapchainCounterEXT

Bundled Patterns

pattern SURFACE_COUNTER_VBLANK_EXT :: SurfaceCounterFlagBitsEXT

SURFACE_COUNTER_VBLANK_EXT specifies a counter incrementing once every time a vertical blanking period occurs on the display associated with the surface.

Instances

Instances details
Eq SurfaceCounterFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_surface_counter

Ord SurfaceCounterFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_surface_counter

Read SurfaceCounterFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_surface_counter

Show SurfaceCounterFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_surface_counter

Storable SurfaceCounterFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_surface_counter

Bits SurfaceCounterFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_surface_counter

Methods

(.&.) :: SurfaceCounterFlagBitsEXT -> SurfaceCounterFlagBitsEXT -> SurfaceCounterFlagBitsEXT #

(.|.) :: SurfaceCounterFlagBitsEXT -> SurfaceCounterFlagBitsEXT -> SurfaceCounterFlagBitsEXT #

xor :: SurfaceCounterFlagBitsEXT -> SurfaceCounterFlagBitsEXT -> SurfaceCounterFlagBitsEXT #

complement :: SurfaceCounterFlagBitsEXT -> SurfaceCounterFlagBitsEXT #

shift :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

rotate :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

zeroBits :: SurfaceCounterFlagBitsEXT #

bit :: Int -> SurfaceCounterFlagBitsEXT #

setBit :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

clearBit :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

complementBit :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

testBit :: SurfaceCounterFlagBitsEXT -> Int -> Bool #

bitSizeMaybe :: SurfaceCounterFlagBitsEXT -> Maybe Int #

bitSize :: SurfaceCounterFlagBitsEXT -> Int #

isSigned :: SurfaceCounterFlagBitsEXT -> Bool #

shiftL :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

unsafeShiftL :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

shiftR :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

unsafeShiftR :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

rotateL :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

rotateR :: SurfaceCounterFlagBitsEXT -> Int -> SurfaceCounterFlagBitsEXT #

popCount :: SurfaceCounterFlagBitsEXT -> Int #

Zero SurfaceCounterFlagBitsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_display_surface_counter