mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 17:11:56 +00:00
0219cda65d
* fix: Add SteamVR patch for Mesa
* chore: Add patch file for SteamVR patch
* chore: Clean up patch layout
---------
(cherry picked from commit 97114123f1)
Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
From 3dbbff571f31899e47ec4a002f3ecbe96cc48981 Mon Sep 17 00:00:00 2001
|
|
From: Yuxuan Shui <yshui@codeweavers.com>
|
|
Date: Wed, 17 Dec 2025 08:14:24 +0000
|
|
Subject: [PATCH] wsi/display: Set atomic client cap in AcquireDrmDisplayEXT as
|
|
well.
|
|
|
|
Previously we only added the atomic client cap to the drmFd passed to
|
|
GetDrmDisplayEXT (through wsi_display_get_connector). But the drmFd
|
|
passed to AcquireDrmDisplayEXT might be different. And that drmFd is
|
|
what mesa will use for later operations.
|
|
|
|
For example, SteamVR uses a non-master drm fd for GetDrmDisplayEXT, then
|
|
later uses a different, leased drm fd for AcquireDrmDisplayEXT. This
|
|
breaks things like drmModeObjectGetProperties because all atomic
|
|
properties will be missing.
|
|
|
|
Fixes: 513ffea1d366 ("wsi/display: use atomic mode setting")
|
|
Signed-off-by: Yuxuan Shui <yshui@codeweavers.com>
|
|
---
|
|
src/vulkan/wsi/wsi_common_display.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/src/vulkan/wsi/wsi_common_display.c b/src/vulkan/wsi/wsi_common_display.c
|
|
index 4c9451a6d000f..8b004563ff44e 100644
|
|
--- a/src/vulkan/wsi/wsi_common_display.c
|
|
+++ b/src/vulkan/wsi/wsi_common_display.c
|
|
@@ -4074,6 +4074,7 @@ wsi_AcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,
|
|
|
|
drmModeFreeConnector(drm_connector);
|
|
|
|
+ drmSetClientCap(drmFd, DRM_CLIENT_CAP_ATOMIC, 1);
|
|
wsi->fd = drmFd;
|
|
return VK_SUCCESS;
|
|
}
|
|
--
|
|
GitLab
|
|
|