Files
BPI-CM9-Linux/amlbian/scripts/chromium/patches/wayland-disable-implicit-sync-interop.patch
T

31 lines
1010 B
Diff

Wayland: add switch to disable implicit sync interop
Mali kbase and mutter 43 ignore implicit dma-buf fences, so committing
before the GPU finishes shows half-drawn frames. With the switch, the GPU
process waits for its own fences before commit.
--- a/ui/ozone/platform/wayland/host/wayland_buffer_manager_host.cc
+++ b/ui/ozone/platform/wayland/host/wayland_buffer_manager_host.cc
@@ -11,6 +11,7 @@
#include <memory>
#include <utility>
+#include "base/command_line.h"
#include "base/functional/bind.h"
#include "base/i18n/number_formatting.h"
#include "base/logging.h"
@@ -73,6 +74,13 @@
}
bool CheckImportExportFence() {
+ // Mali kbase ignores implicit dma-buf fences: let the GPU process wait for
+ // its own fences before commit instead.
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ "disable-wayland-implicit-sync-interop")) {
+ return false;
+ }
+
KernelVersion ver = KernelVersionNumbers();
// DMA_BUF_IOCTL_{IMPORT,EXPORT}_SYNC_FILE was added in 6.0