Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- pattern VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: VkStructureType
- pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: Integral a => a
- pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: (Eq a, IsString a) => a
- vkGetRefreshCycleDurationGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult
- vkGetPastPresentationTimingGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult
- data VkRefreshCycleDurationGOOGLE = VkRefreshCycleDurationGOOGLE {}
- data VkPastPresentationTimingGOOGLE = VkPastPresentationTimingGOOGLE {}
- data VkPresentTimesInfoGOOGLE = VkPresentTimesInfoGOOGLE {}
- data VkPresentTimeGOOGLE = VkPresentTimeGOOGLE {}
Documentation
pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: Integral a => a Source #
pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
vkGetRefreshCycleDurationGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult Source #
vkGetRefreshCycleDurationGOOGLE - Obtain the RC duration of the PE’s display
Parameters
device
is the device associated withswapchain
.
swapchain
is the swapchain to obtain the refresh duration for.pDisplayTimingProperties
is a pointer to an instance of theVkRefreshCycleDurationGOOGLE
structure.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
swapchain
must be a validVkSwapchainKHR
handlepDisplayTimingProperties
must be a valid pointer to aVkRefreshCycleDurationGOOGLE
structure- Both of
device
, andswapchain
must have been created, allocated, or retrieved from the sameVkInstance
Host Synchronization
- Host access to
swapchain
must be externally synchronized
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_DEVICE_LOST
VK_ERROR_SURFACE_LOST_KHR
See Also
vkGetPastPresentationTimingGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult Source #
vkGetPastPresentationTimingGOOGLE - Obtain timing of a previously-presented image
Parameters
device
is the device associated withswapchain
.
swapchain
is the swapchain to obtain presentation timing information duration for.pPresentationTimingCount
is a pointer to an integer related to the number ofVkPastPresentationTimingGOOGLE
structures to query, as described below.pPresentationTimings
is eitherNULL
or a pointer to an an array ofVkPastPresentationTimingGOOGLE
structures.
Description
If pPresentationTimings
is NULL
, then the number of newly-available
timing records for the given swapchain
is returned in
pPresentationTimingCount
. Otherwise, pPresentationTimingCount
must
point to a variable set by the user to the number of elements in the
pPresentationTimings
array, and on return the variable is overwritten
with the number of structures actually written to
pPresentationTimings
. If the value of pPresentationTimingCount
is
less than the number of newly-available timing records, at most
pPresentationTimingCount
structures will be written. If
pPresentationTimingCount
is smaller than the number of newly-available
timing records for the given swapchain
, VK_INCOMPLETE
will be
returned instead of VK_SUCCESS
to indicate that not all the available
values were returned.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
swapchain
must be a validVkSwapchainKHR
handlepPresentationTimingCount
must be a valid pointer to auint32_t
value- If the value referenced by
pPresentationTimingCount
is not0
, andpPresentationTimings
is notNULL
,pPresentationTimings
must be a valid pointer to an array ofpPresentationTimingCount
VkPastPresentationTimingGOOGLE
structures - Both of
device
, andswapchain
must have been created, allocated, or retrieved from the sameVkInstance
Host Synchronization
- Host access to
swapchain
must be externally synchronized
Return Codes
[Success]
- VK_SUCCESS
VK_INCOMPLETE
[Failure]
- VK_ERROR_DEVICE_LOST
VK_ERROR_OUT_OF_DATE_KHR
VK_ERROR_SURFACE_LOST_KHR
See Also
data VkRefreshCycleDurationGOOGLE Source #
VkRefreshCycleDurationGOOGLE - Structure containing the RC duration of a display
See Also
VkRefreshCycleDurationGOOGLE | |
|
Instances
data VkPastPresentationTimingGOOGLE Source #
VkPastPresentationTimingGOOGLE - Structure containing timing information about a previously-presented image
Description
The results for a given swapchain
and presentID
are only returned
once from vkGetPastPresentationTimingGOOGLE
.
The application can use the VkPastPresentationTimingGOOGLE
values to
occasionally adjust its timing. For example, if actualPresentTime
is
later than expected (e.g. one refreshDuration
late), the application
may increase its target IPD to a higher multiple of refreshDuration
(e.g. decrease its frame rate from 60Hz to 30Hz). If actualPresentTime
and earliestPresentTime
are consistently different, and if
presentMargin
is consistently large enough, the application may
decrease its target IPD to a smaller multiple of refreshDuration
(e.g.
increase its frame rate from 30Hz to 60Hz). If actualPresentTime
and
earliestPresentTime
are same, and if presentMargin
is consistently
high, the application may delay the start of its input-render-present
loop in order to decrease the latency between user input and the
corresponding present (always leaving some margin in case a new image
takes longer to render than the previous image). An application that
desires its target IPD to always be the same as refreshDuration
, can
also adjust features until actualPresentTime
is never late and
presentMargin
is satisfactory.
See Also
VkPastPresentationTimingGOOGLE | |
|
Instances
data VkPresentTimesInfoGOOGLE Source #
VkPresentTimesInfoGOOGLE - The earliest time each image should be presented
Valid Usage
swapchainCount
must be the same value asVkPresentInfoKHR
::swapchainCount
, whereVkPresentInfoKHR
is in thepNext
chain of thisVkPresentTimesInfoGOOGLE
structure.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE
- If
pTimes
is notNULL
,pTimes
must be a valid pointer to an array ofswapchainCount
VkPresentTimeGOOGLE
structures swapchainCount
must be greater than0
See Also
VkPresentTimesInfoGOOGLE | |
|
Instances
Eq VkPresentTimesInfoGOOGLE Source # | |
Show VkPresentTimesInfoGOOGLE Source # | |
showsPrec :: Int -> VkPresentTimesInfoGOOGLE -> ShowS # show :: VkPresentTimesInfoGOOGLE -> String # showList :: [VkPresentTimesInfoGOOGLE] -> ShowS # | |
Storable VkPresentTimesInfoGOOGLE Source # | |
sizeOf :: VkPresentTimesInfoGOOGLE -> Int # alignment :: VkPresentTimesInfoGOOGLE -> Int # peekElemOff :: Ptr VkPresentTimesInfoGOOGLE -> Int -> IO VkPresentTimesInfoGOOGLE # pokeElemOff :: Ptr VkPresentTimesInfoGOOGLE -> Int -> VkPresentTimesInfoGOOGLE -> IO () # peekByteOff :: Ptr b -> Int -> IO VkPresentTimesInfoGOOGLE # pokeByteOff :: Ptr b -> Int -> VkPresentTimesInfoGOOGLE -> IO () # peek :: Ptr VkPresentTimesInfoGOOGLE -> IO VkPresentTimesInfoGOOGLE # poke :: Ptr VkPresentTimesInfoGOOGLE -> VkPresentTimesInfoGOOGLE -> IO () # |
data VkPresentTimeGOOGLE Source #
VkPresentTimeGOOGLE | |
|
Instances
Eq VkPresentTimeGOOGLE Source # | |
(==) :: VkPresentTimeGOOGLE -> VkPresentTimeGOOGLE -> Bool # (/=) :: VkPresentTimeGOOGLE -> VkPresentTimeGOOGLE -> Bool # | |
Show VkPresentTimeGOOGLE Source # | |
showsPrec :: Int -> VkPresentTimeGOOGLE -> ShowS # show :: VkPresentTimeGOOGLE -> String # showList :: [VkPresentTimeGOOGLE] -> ShowS # | |
Storable VkPresentTimeGOOGLE Source # | |
sizeOf :: VkPresentTimeGOOGLE -> Int # alignment :: VkPresentTimeGOOGLE -> Int # peekElemOff :: Ptr VkPresentTimeGOOGLE -> Int -> IO VkPresentTimeGOOGLE # pokeElemOff :: Ptr VkPresentTimeGOOGLE -> Int -> VkPresentTimeGOOGLE -> IO () # peekByteOff :: Ptr b -> Int -> IO VkPresentTimeGOOGLE # pokeByteOff :: Ptr b -> Int -> VkPresentTimeGOOGLE -> IO () # peek :: Ptr VkPresentTimeGOOGLE -> IO VkPresentTimeGOOGLE # poke :: Ptr VkPresentTimeGOOGLE -> VkPresentTimeGOOGLE -> IO () # |