Fixes the following issues:
* For Wayland backend, populates the presentation feedback listener with all callbacks as it is considered a fault by the protocol to not implement those
* For Wayland backend presentation feedback listener, forwards the feedback_discarded event to present ID as there could be situations where previously submitted buffers are discarded, such as when swapchains are using the MAILBOX presentation mode.
* For all swapchains, communicate critical errors back to present wait extension as otherwise, all callers waiting that are waiting on present to be delivered in vkWaitForPresentKHR call will never exit.
* Expanded the implementation in vkWaitForPresentKHR to be able to return critical swapchain errors if they have occured during the wait time.
* Fix issues in present ID where infinite waits could result in the vkWaitForPresentKHR call returning immediately due to UINT64_MAX timeout resulting in overflowing the system clock used in std::condition_variable
Change-Id: I1e475c3073c05394db259657eae1da21764a5a5c
Signed-off-by: Normunds Rieksts <normunds.rieksts@arm.com>
Signed-off-by: Alex Bates <alex.bates@arm.com>
In this change, handling for the present timings stages are improved.
Signed-off-by: Ginu Jacob <ginu.jacob@arm.com>
Change-Id: I68e9ae67fa94d39e23504890d922a85bdce938cd
Tags the fences created by the layer with the WsiLayerFence name
when instrumentation has been enabled.
Change-Id: I90ad71e5073d80cd650c6ba3be406abd67185376
Signed-off-by: Iason Paraskevopoulos <iason.paraskevopoulos@arm.com>
Enabling VK_PRESENT_MODE_FIFO_LATEST_READY_EXT for headless & wayland
This extension is handled the same as the MAILBOX ext.
Signed-off-by: Nir Ekhauz <nir.ekhauz@arm.com>
Change-Id: I010c3c9474a6d9c28964806ba5aa63549b622454
The check that determines device extension entrypoint visibility
was changed in order to fix CTS failures.
Signed-off-by: Fufu Fang <fufu.fang@arm.com>
Use the standard GitLab workflows to ensure the build job is run on
both Merge Requests and the main branch.
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Change-Id: I0469fd48200cb258ec6fea77bf9e817506d3570f
In this change, instead of checking the available version for
vkGetCalibratedTimestamps between KHR and EXT, unconditionally use the
KHR version in VK_EXT_present_timing as the extension has a dependency
on VK_KHR_calibrated_timestamps extension.
Signed-off-by: Ginu Jacob <ginu.jacob@arm.com>
Change-Id: I279182ae6d5311613c430546a8054dee0276c499
Adds missing documentation and changes
swapchain_image_creator::add_extensions to take a reference instead of a
pointer.
Change-Id: I0f2fc2017e00901c74113bbd0ed99a18cb9bf01e
Signed-off-by: Iason Paraskevopoulos <iason.paraskevopoulos@arm.com>
Modifies swapchain_base::init to get a device queue only when external sync is not supported.
Signed-off-by: Iason Paraskevopoulos iason.paraskevopoulos@arm.com
Change-Id: I638f4e75cfa9848f415ce1c9776cb8de82f24ca1
This patch fixes the sed command in CMakeLists.txt. Previously
the extended regular expression flag was not correctly set.
Change-Id: I7beb1c2ba68134ecd1cf37bbc0f7888f903fd6bb
Signed-off-by: Fufu Fang <fufu.fang@arm.com>
Adds a swapchain create info extension for creating an image using
external memory. This removes the need for modifying the
image_create_info in the display and wayland backends. There is still
code duplication left in these backends though, because swapchain
allocation needs to know the selected format. This will be removed when
the swapchain images will be created from the swapchain image creator.
Moves the definition of drm_format_pair to drm_utils.
Removes two step initialization from swapchain_wsi_allocator.
Change-Id: I0c937a59cc62e7e3134f0af4728fdda3739237bd
Signed-off-by: Iason Paraskevopoulos <iason.paraskevopoulos@arm.com>
Adds a class for owning and managing a wsialloc allocator, which removes
duplicated functionality from the wayland and display backends.
Change-Id: Ieb0c75481c2b1c0019e620a88fc0e153eba1e29a
Signed-off-by: Iason Paraskevopoulos <iason.paraskevopoulos@arm.com>
Copies the image_compression_control implementation from wsi/extensions
to wsi/swapchain_image_create_extensions. Replaces the usage of the
wsi_extension with the swapchain_image_create_extension in the headless
backend.
Change-Id: I29c5d0b7eba4f79be63fda3f103ff786968fc367
Signed-off-by: Iason Paraskevopoulos <iason.paraskevopoulos@arm.com>
Adds a new class named swapchain_image_creator, which will be
responsible for owning and extending image create info.
Change-Id: Icdda2304698e110d4c0d52caa6b7c1fe59c383a9
Signed-off-by: Iason Paraskevopoulos <iason.paraskevopoulos@arm.com>
If the display doesn't exit in function
GetPhysicalDeviceDisplayPlanePropertiesKHR,
the function should return zero properties
but should not return error.
Signed-off-by: Avi Shif <avi.shif@arm.com>
Change-Id: I616669a3cd3db6294dae5250c7474ba6f58bd380
This commit updates time domain used in the
VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT present stage
in the Wayland backend.
Change-Id: I0d158d0eea6608edd532fbebadb18713d5486d6b
Signed-off-by: Fufu Fang <fufu.fang@arm.com>
Signed-off-by: Alex Bates <alex.bates@arm.com>