From 8a8afd389631f82f69cd82aecf080754e8b53b3a Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 5 Aug 2024 16:42:03 +0200 Subject: [PATCH] drm: add AQ_MGPU_NO_EXPLICIT --- docs/env.md | 1 + src/backend/drm/DRM.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/env.md b/docs/env.md index a3850d1..cfaff01 100644 --- a/docs/env.md +++ b/docs/env.md @@ -5,6 +5,7 @@ Unless specified otherwise, a variable is enabled if and only if it's set to `1` ### DRM `AQ_NO_ATOMIC` -> Disables drm atomic modesetting +`AQ_MGPU_NO_EXPLICIT` -> Disables explicit syncing on mgpu buffers ### Debugging diff --git a/src/backend/drm/DRM.cpp b/src/backend/drm/DRM.cpp index 80ca92a..feac164 100644 --- a/src/backend/drm/DRM.cpp +++ b/src/backend/drm/DRM.cpp @@ -1483,7 +1483,8 @@ bool Aquamarine::CDRMOutput::commitState(bool onlyTest) { } // replace the explicit in fence if the blitting backend returned one, otherwise discard old. Passed fence from the client is wrong. - if (blitResult.syncFD.has_value()) + static auto NO_EXPLICIT = envEnabled("AQ_MGPU_NO_EXPLICIT"); + if (blitResult.syncFD.has_value() && !NO_EXPLICIT) state->setExplicitInFence(blitResult.syncFD.value()); else state->setExplicitInFence(-1);