In this change, the schedule present at relative time is enabled for
headless backend.
Signed-off-by: Ginu Jacob <ginu.jacob@arm.com>
Change-Id: I15ff8170dfe93539e4c9a7ff20868b0916129546
* Implement scheduling support for headless present stages.
* Fix a bug where present query stages were added to the internal queue when application did not request any.
* Change the implementation of present timing extension to store device_private_data rather than VkDevice as all queries require it.
* Document the shortcomings of implenting scheduling support for Wayland backends.
Change-Id: I050cc700a88bce476b350caf8cc23dfb551f4a0c
Signed-off-by: Normunds Rieksts normunds.rieksts@arm.com
Sets timestamps for `vkGetPastPresentationTimingEXT` for the remaining
present stages on headless:
- VK_PRESENT_STAGE_IMAGE_LATCHED_BIT_EXT
- VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_OUT_BIT_EXT
- VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT
These are all set to the same value: when swapchain::present_image is
called. It uses the best monotonic clock supported by the driver.
No need for slot member variables to be atomic any more because they
are only accessed while a lock on m_queue_mutex is held.
Signed-off-by: Alex Bates <alex.bates@arm.com>
Change-Id: I90ffc876890ee74620b7ba8da753794cae51dd36
Adds initial support to the headless and Wayland backends to query
swapchain timing properties. This patch also moves all present timing
backend specific code into its own file and refactors the private_data
code that is specific to present timing entrypoints into a more common
format.
Change-Id: I377197a6e14b3cbd968e35735d43060d19dfe5bc
Signed-off-by: Normunds Rieksts <normunds.rieksts@arm.com>