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>
In this change, the support for present stage local time doimain
is enabled. The Vulkan entry-points vkGetCalibratedTimestampsEXT and
vkGetCalibratedTimestampsKHR are introduced. These entry-points are
intercepted for the structure VkSwapchainCalibratedTimestampInfoEXT
to calibrate any stage local time domains.
Internally, the stage local time domains are mapped to VK time
domains with an offset. On intercepting the APIs when the structure
VkSwapchainCalibratedTimestampInfoEXT is available, timestamps
are internally queried based on VK time domain from the driver and are
then converted to the corresponding stage local timestamps using the
internally maintained offset for the time domain.
Signed-off-by: Ginu Jacob <ginu.jacob@arm.com>
Change-Id: I635e1bc27dd40540cc5e016ab5f784f9d8ebd333
The comment explaining the format for the entrypoint entries are
updated to include the new alias parameter.
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Change-Id: I34b0d1247a010b0e60b19bb284bb6bdaf32eab23
Some entrypoints when promoted lose the KHR suffix. Some ICDs only
provide the non-KHR versions and the KHR versions are unavailable
unless the associated extension is explicitly enabled. This change
makes the layer's dispatch table internally convert any promoted KHR
entrypoint calls to the non-KHR version when the the Vulkan API is of
sufficient level.
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Change-Id: I556c9071b738e15ef5fd2f970a8443b1c5215b16
Advertises support for present wait in vkGetPhysicalDeviceFeatures2KHR when all surface extensions are supported. If there are unsupported extensions, present wait feature advertisement is left to lower layers.
Enables the layer to intercept vkBindImageMemory2KHR, and by requiring
the extension we ensure we can always call the entrypoint down the
chain as well.
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Change-Id: I1ec5f8c6ba648151e08101549cb795e990c84aeb
Fixes two bugs:
- The handling when swapchains are destroyed when VK_NULL_HANDLE is
passed for the vkDestroySwapchain function to terminate early rather
than forward it to any dispatch functions below us which could
potentially not be exported by the layers/ICDs below us.
- The dispatcher did not implement get_fn() correctly as if the
function that we attempted to acquire was NULL, this function still
returned a valid std::optional with the function pointer itself
being set to NULL if no layers/ICDs under ours did not implement
these entrypoints. This fixes other issues that could arise in the
layer when this function is used.
Change-Id: If4fb67c246ef48a97f88914acfb8db3df734b133
Signed-off-by: Normunds Rieksts <normunds.rieksts@arm.com>
Fixes a regression with swapchain_maintenance1 extension after extension
refactor that did not communicate the changed presentation mode back to
the swapchain and improperly checked whether swapchain supports
presentation modes at swapchain creation time when this extension was
being used.
Change-Id: If06d3c72b44c8f3a06728b4c5c2455346c97ad63
Signed-off-by: Normunds Rieksts <normunds.rieksts@arm.com>
Fixes issues that generate warnings when building under specific
compiler versions.
Change-Id: I2a90429c7b56658be06ddd46fa8acfd660cafdd0
Signed-off-by: Normunds Rieksts <normunds.rieksts@arm.com>
Fixes bugs with the vkGetSwapchainTimeDomainPropertiesEXT entrypoint:
- The time domains counter identifies the current list of available
time domains
- The time domain properties correctly reports the available time
domains and returns them to the application
Change-Id: Ic69578bd93804e823e27879f9f2ee1a5d49a01ce
Signed-off-by: Normunds Rieksts <normunds.rieksts@arm.com>