From 21f9c44789100c2d6f6de1acdbc51a39f50a5703 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 6 Aug 2024 13:19:53 +0200 Subject: [PATCH] drm: don't use explicit in blit without explicit requested from user --- src/backend/drm/DRM.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/drm/DRM.cpp b/src/backend/drm/DRM.cpp index feac164..42da324 100644 --- a/src/backend/drm/DRM.cpp +++ b/src/backend/drm/DRM.cpp @@ -1483,8 +1483,9 @@ 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 the commit doesn't have an explicit fence, don't use the one we created, just fallback to implicit static auto NO_EXPLICIT = envEnabled("AQ_MGPU_NO_EXPLICIT"); - if (blitResult.syncFD.has_value() && !NO_EXPLICIT) + if (blitResult.syncFD.has_value() && !NO_EXPLICIT && (COMMITTED & COutputState::eOutputStateProperties::AQ_OUTPUT_STATE_EXPLICIT_IN_FENCE)) state->setExplicitInFence(blitResult.syncFD.value()); else state->setExplicitInFence(-1);