31 lines
1010 B
Diff
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
|