Erik Faye-Lund
3abe9ccbd4
vulkan/util: simplify multialloc init
...
The syntax we're using doesn't work when included into C++ sources. So
let's make it C++ compabible.
It turns out, nobody needs this extra definition which is what's causing
issues. Let's just make the initializer trivial without casting the
struct.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14850 >
2022-02-04 10:16:42 +00:00
Erik Faye-Lund
0d0ecbd987
vulkan/util: Add explicit casts to make c++ happy
...
We're about to need including this header from a C++ source, so let's
add some explicit casts for C++ compatibility.
In one case we can make things a bit cleaner by moving the
char-pointer-ism to the place that needs it, so let's clean that up
while we're at it.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14850 >
2022-02-04 10:16:42 +00:00
Erik Faye-Lund
676c65d8d5
vulkan/util: Add extern "C" to allow inclusion from c++
...
We're about to need including this header from a C++ source, so let's
wrap the whole thing in extern "C".
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14850 >
2022-02-04 10:16:42 +00:00
Simon Ser
713a4363e5
vulkan/wsi/wayland: remove format switch from wl_shm_format_for_vk_format
...
Instead of maintaining two similar switches (one for DRM formats,
one for wl_shm formats), only maintain a single switch (for DRM)
and convert DRM formats to enum wl_shm_format. This reduces the
risk to have inconsistencies between these two functions.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14634 >
2022-02-01 08:00:22 +00:00
Simon Ser
5a82232e5c
vulkan/wsi/wayland: use DRM_FORMAT_INVALID
...
Instead of using the magic value 0, use the define.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14634 >
2022-02-01 08:00:22 +00:00
Simon Ser
fda2aecb8b
vulkan/wsi/wayland: use enum wl_shm_format
...
libwayland defines an enum for wl_shm formats. Let's use it instead
of uint32_t.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14634 >
2022-02-01 08:00:22 +00:00
Jason Ekstrand
27042d135e
vulkan/wsi: Add image create and bind helpers
...
These are needed to properly implement the Vulkan 1.1 swapchain image
create/bind functionality.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:55 +00:00
Jason Ekstrand
ca791f5c5d
wsi/common: Set VK_IMAGE_CREATE_ALIAS_BIT
...
With Vulkan 1.1, we have a VkImageSwapchainCreateInfoKHR struct which
lets you create a new VkImage which aliases a swapchain image. However,
there is no corresponding swapchain create flag so we have to set
VK_IMAGE_CREATE_ALIAS_BIT all the time.
We need to do a bit of work in ANV to prevent it from asserting the
moment it sees one of these. Fortunately, they're already safe because
WSI images go through a different bind path for
VkBindImageMemorySwapchainInfoKHR.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:55 +00:00
Jason Ekstrand
1abab1a28f
vulkan/wsi/drm: Drop wsi_create_native/prime_image
...
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:55 +00:00
Jason Ekstrand
ed391d2a46
vulkan/wsi/win32: Break create_win32_image in pieces
...
This is similar to the previous two commits that we did for DRM native
images. It breaks it into configure/create/bind and calls
wsi_create_image to walk through the three-step process.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:55 +00:00
Jason Ekstrand
d7ad73d6b7
vulkan/wsi/win32: Delete unnecessary copy+paste from DRM
...
The Win32 WSI just does a copy into the window on the CPU. There's no
need for external memory or modifiers or implicit sync or any of that.
While we're at it, rename to create_win32_image.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:55 +00:00
Jason Ekstrand
d95e3fd98c
vulkan/wsi/display: Split image creation
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:55 +00:00
Jason Ekstrand
b626a5be43
vulkan/wsi/wayland: Split image creation
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:55 +00:00
Jason Ekstrand
d67250d444
vulkan/wsi/x11: Split image creation
...
Store the wsi_image_create_info in the swapchain and call
wsi_configure_*_image once per swapchain and then use wsi_create_image
for each image.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:54 +00:00
Jason Ekstrand
579578f10a
vulkan/wsi/drm: Break create_prime_image in pieces
...
This is similar to the previous two commits that we did for DRM native
images. It breaks it into configure/create/bind/finish and calls
wsi_create_image to walk through the process. The primary difference is
that prime images need fifth step in the process to set up the blit
command buffer.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:54 +00:00
Jason Ekstrand
830d9967db
vulkan/wsi: Add a helper for the configure/create/bind pattern
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:54 +00:00
Jason Ekstrand
5b13d74583
vulkan/wsi/drm: Break create_native_image in pieces
...
Instead of making create_native_image one monolithic function, break it
into a configure stage and a create stage. The configure stage is
further broken up, first into a common piece that constructs a simple
VkImageCreateInfo and a couple chain-ins. The second adds the extra
stuff for create_native_image. This is to prepare for eventually
storing those structs in the swapchain itself.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:54 +00:00
Jason Ekstrand
8299d5f37f
vulkan/wsi: Set MUTABLE_FORMAT_BIT in the prime path
...
Fixes: 4bdf8547f4 "vulkan/wsi: Implement VK_KHR_swapchain_mutable_format"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12031 >
2022-01-31 19:46:54 +00:00
Caleb Callaway
7483c40ba0
vulkan/overlay: revise and reformat README
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14784 >
2022-01-31 19:09:56 +00:00
Georg Lehmann
cbe4943ae9
vulkan/wsi/wayland: Fix add_drm_format_modifier aplha/opaqueness.
...
This had the opposite problem of the shm path. R8G8B8A8 was always support if
either DRM_FORMAT_XBGR8888 or DRM_FORMAT_ABGR8888 was supported, but we need
both.
Fixes: d944136f36 ("vulkan/wsi/wayland: don't expose surface formats not fully supported")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14588 >
2022-01-31 17:50:01 +00:00
Georg Lehmann
9843fddfff
vulkan/wsi/wayland: Add modifiers for RGB formats.
...
These formats get overwritten after the FALLTHROUGH, so no modifers got added
to them at all.
Fixes: 151b65b211 ("vulkan/wsi/wayland: generalize modifier handling")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14588 >
2022-01-31 17:50:01 +00:00
Georg Lehmann
a881b6ac1f
vulkan/wsi/wayland: Convert missing vulkan formats to shm formats.
...
Fixes: 6b36f35734 ("vulkan/wsi/wl: add wl_shm support for lavapipe.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14588 >
2022-01-31 17:50:01 +00:00
Georg Lehmann
4ae4e04e18
vulkan/wsi/wayland: Fix add_wl_shm_format alpha/opaqueness.
...
We need both the SHM format with alpha and the opaque format to fully support
a vulkan format with alpha. Previously no surface format was reported because
the vulkan formats with aplha were never added as opaque.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5879
Fixes: d944136f36 ("vulkan/wsi/wayland: don't expose surface formats not fully supported")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14588 >
2022-01-31 17:50:01 +00:00
Ella Stanforth
a53fd9b089
vulkan: Allow RegisterDisplayEventEXT before first page flip
...
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14685 >
2022-01-31 12:49:26 +00:00
Emma Anholt
bdb8e615d1
vulkan: Fix leak of error messages
...
Fixes: 0cad3beb2a ("vulkan/log: Add common vk_error and vk_errorf helpers")
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14235 >
2022-01-27 23:47:46 +00:00
Chia-I Wu
4f1cf6fd3b
vulkan/wsi/x11: fix x11_image_init return value on errors
...
fail_pixmap is reached when xshmfence alloc/map fails. result is
VK_SUCCESS and we need to pick an error code explicitly.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14748 >
2022-01-27 22:06:19 +00:00
Roman Gilg
6018d5c44a
vulkan/wsi/x11: document implementation
...
To extend the shared understanding of our code base and ease contributing
document purpose and flow for many of our internal functions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6536 >
2022-01-27 09:14:29 +00:00
Jason Ekstrand
cc8eb6f5df
vulkan/runtime: Implement 1.3 features/properties
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14707 >
2022-01-25 15:57:53 +00:00
Samuel Pitoiset
6a3928615b
vulkan: Update the XML and headers to 1.3.204
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14707 >
2022-01-25 15:57:53 +00:00
Michel Dänzer
a429b3dd33
Revert "wsi/x11: Avoid a class of deadlocks in the WSI queue thread"
...
This reverts commit 272fba8e75 .
Multiple regressions have been reported against this. Let's revert and
maybe try again.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5910
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5913
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14710 >
2022-01-25 14:55:12 +00:00
Thomas H.P. Andersen
23135aece1
vulkan/vk_extensions_gen: fix -Wextern-initializer warning
...
vk_android_allowed_device_extensions is already declared as
extern in vk_extensions.h
Fixes a warning with clang
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14654 >
2022-01-25 00:26:45 +00:00
Mike Blumenkrantz
3dcf275786
vulkan/wsi: add VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT for swapchain image caps
...
I need this, and drivers can do it, so add it
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14641 >
2022-01-24 21:53:21 +00:00
Bas Nieuwenhuizen
ce95871a50
vulkan/wsi/display: Add common implementation of VK_EXT_display_control.
...
Based on the new vk_sync functions.
Copied the version from anv as that seemed more thorough by using the
temporary sync payload. However that does mean we have do use the vk_sync
functions instead of being able to layer it on top of the dispatch table.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14365 >
2022-01-24 12:57:35 +00:00
Adam Jackson
272fba8e75
wsi/x11: Avoid a class of deadlocks in the WSI queue thread
...
Here are two facts, each mildly unpleasant, quite nasty taken together:
- xcb_wait_for_special_event retries its poll() if the fd woke up but
no matching event arrived, without verifying that the special event
queue is still registered.
- Present gives no in-band notification of window destruction.
Now if the window is destroyed before the swapchain we're in trouble.
Our WSI thread might be stuck in xcb_wait_for_special_event as we're
awaiting a completion that won't come (the pixmap was being presented as
the window, and then the window was destroyed, so no more events can
happen on that window).
The solution is to use xcb_poll_for_special_event, which is
non-blocking, and handle the appropriate edge cases. If we've run the
event queue but we still don't have an image to acquire, we poke the X
server with a request that gently verifies that the window exists,
allowing the thread to exit gracefully in the above case. We detect
when we're busy-looping, and poll on the X connection for up to 1ms in
response to avoid burning the CPU.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13564 >
2022-01-21 19:46:14 +00:00
Samuel Pitoiset
6619f855d9
vulkan/runtime: fix accessing NULL pointers detected by UBSAN
...
Fixes: 7a84314c12 ("vulkan/runtime: Add sparse bind support.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14619 >
2022-01-19 16:16:08 +00:00
Chia-I Wu
e6d7e1ec63
vulkan/wsi: add wsi_common_get_image
...
This can be useful with VkBindImageMemorySwapchainInfoKHR.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14544 >
2022-01-14 17:41:42 +00:00
Danylo Piliaiev
fa75b2a027
vulkan/wsi: create a common function to compare drm devices
...
Effectively moves most of v3dv_wsi_can_present_on_device to the
common code to be used in other drivers.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11091 >
2022-01-14 12:19:57 +00:00
Alejandro Piñeiro
821c66e50c
vulkan: return default string for undefined enum
...
Instead of a unreachable.
This would avoid an assert on debug builds that uses vkfoo_to_str to
print structure types. This will become more common as some tests will
start to use VK_STRUCTURE_TYPE_MAX_ENUM to mark structures from
unsupported extensions more often.
v2 (Jason):
* Include enum name on the default message
* Handle MAX_ENUM as a special case
v3 (Jason):
* vk_ObjectType_to_ObjectName don't need to use ${enum.name}
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14525 >
2022-01-14 10:31:15 +00:00
Hyunjun Ko
58aa920706
vulkan: fix typo
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14105 >
2022-01-13 04:01:44 +00:00
Caleb Callaway
64a51293c8
vulkan/overlay: support Vulkan 1.2
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5602
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14465 >
2022-01-13 02:02:14 +00:00
Pierre-Eric Pelloux-Prayer
7bd5aa111c
vulkan/wsi: add a private transfer pool to exec the DRI_PRIME blit
...
The idea is to offer the driver a way to execute on a different queue
than the one the app is using for Present.
For instance, this could be used to make the DRI_PRIME blit asynchronous,
by using a transfer queue.
So instead of creating a command buffer to be executed on present using
the supplied queue, this commit uses an internal transfer queue to perform
the blit.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13959 >
2022-01-11 12:18:35 +00:00
Pierre-Eric Pelloux-Prayer
0ad7ec56c9
vulkan/wsi: add use_prime_blit param to wsi_swapchain_init
...
Instead of initializing it to false and overriding it later if
needed.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13959 >
2022-01-11 12:18:35 +00:00
Bas Nieuwenhuizen
85ca7fab29
radv: Add common entrypoint dependency.
...
To ensure we have the header. The revert likely reintroduced compilation flakiness due
to missing dependencies.
Fixes: a255f6f823 ("radv: do not use the common entrypoint for the Metro Exodus layer")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14430 >
2022-01-07 02:21:36 +00:00
Jason Ekstrand
b2073f5e5d
radv: Move QueueSignalReleaseImageANDROID to common code
...
This is mostly a copy+paste job but with a few syntax changes to make it
follow more closely with other common Vulkan code.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14372 >
2022-01-05 16:36:10 +00:00
Jason Ekstrand
dfb1e1777c
anv,radv,v3dv: Move AcquireImageANDROID to common code
...
All three implementations are identical.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Tested-by: Tapani Pälli <tapani.palli@intel.com >
Tested-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14372 >
2022-01-05 16:36:10 +00:00
Bas Nieuwenhuizen
7a84314c12
vulkan/runtime: Add sparse bind support.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:18 +00:00
Bas Nieuwenhuizen
73cdc302ab
vulkan/runtime: Refactor queue submit to take an argument struct.
...
For merging with the sparse binding structs.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:18 +00:00
Jason Ekstrand
88b9b68f30
vulkan/runtime: Validate instance version on 1.0 implementations
...
This isn't something that ANV or RADV have cared about in a long time
but, as people bring up new Vulkan drivers, shipping Vulkan 1.0 is still
a thing that happens in Mesa. The common code should also implement the
1.0 rules.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14150 >
2021-12-20 16:45:55 +00:00
Lionel Landwerlin
b00086d393
anv,wsi: simplify WSI synchronization
...
Rather than using 2 vfuncs, use one since we've unified the
synchronization framework in the runtime with a single vk_sync object.
v2 (Jason Ekstrand):
- create_sync_for_memory is now in vk_device
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14237 >
2021-12-17 00:55:31 +00:00
Jason Ekstrand
2188829d29
vulkan/queue: Handle WSI memory signal information
...
We handle it by asking the driver to create a vk_sync that wraps a
VkDeviceMemory object and gets passed as one of the signal ops.
Fixes: 9bffd81f1c ("vulkan: Add common implementations of vkQueueSubmit and vkQueueWaitIdle")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14237 >
2021-12-17 00:55:31 +00:00