mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
radv/virtio: disable syncobj timeline support
The virtio-gpu guest kmd reports timelines as supported, so querying DRM_CAP_SYNCOBJ_TIMELINE as vk_drm_syncobj_get_type() does will return true. The native context code on the other hand doesn't support timelines, and support is disabled in the "ac/virtio: disable timeline_syncobj support" commit. Fix the inconsistency by manually disabling timeline support when info.has_timeline_syncobj is false. Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21658>
This commit is contained in:
parent
9de728c4d0
commit
6b6340fea1
1 changed files with 8 additions and 0 deletions
|
|
@ -274,6 +274,14 @@ radv_amdgpu_winsys_create(int fd, uint64_t debug_flags, uint64_t perftest_flags,
|
|||
if (ws->syncobj_sync_type.features) {
|
||||
/* multi wait is always supported */
|
||||
ws->syncobj_sync_type.features |= VK_SYNC_FEATURE_GPU_MULTI_WAIT;
|
||||
|
||||
if (!ws->info.has_timeline_syncobj && ws->syncobj_sync_type.features & VK_SYNC_FEATURE_TIMELINE) {
|
||||
/* Disable timeline feature if it was disabled in the driver. */
|
||||
assert(is_virtio);
|
||||
ws->syncobj_sync_type.get_value = NULL;
|
||||
ws->syncobj_sync_type.features &= ~VK_SYNC_FEATURE_TIMELINE;
|
||||
}
|
||||
|
||||
ws->sync_types[num_sync_types++] = &ws->syncobj_sync_type;
|
||||
if (!(ws->syncobj_sync_type.features & VK_SYNC_FEATURE_TIMELINE)) {
|
||||
ws->emulated_timeline_sync_type = vk_sync_timeline_get_type(&ws->syncobj_sync_type);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue