From 124f81008b64c799ef100c4f8848831e9b7bb8a7 Mon Sep 17 00:00:00 2001 From: stransky Date: Wed, 22 Dec 2021 08:37:32 +0000 Subject: [PATCH] Bug 1743632 [Linux] Use GL Fence in SharedSurfaceDMABUF - Implement SharedSurface_DMABUF::WaitForBufferOwnership() by DMABufSurface::FenceWait(). Depends on D133901 Differential Revision: https://phabricator.services.mozilla.com/D133902 --- gfx/gl/SharedSurfaceDMABUF.cpp | 2 ++ gfx/gl/SharedSurfaceDMABUF.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/gfx/gl/SharedSurfaceDMABUF.cpp b/gfx/gl/SharedSurfaceDMABUF.cpp index 094028a52d3f..4e3e3d1d9c3b 100644 --- a/gfx/gl/SharedSurfaceDMABUF.cpp +++ b/gfx/gl/SharedSurfaceDMABUF.cpp @@ -46,6 +46,8 @@ SharedSurface_DMABUF::~SharedSurface_DMABUF() { void SharedSurface_DMABUF::ProducerReleaseImpl() { mSurface->FenceSet(); } +void SharedSurface_DMABUF::WaitForBufferOwnership() { mSurface->FenceWait(); } + Maybe SharedSurface_DMABUF::ToSurfaceDescriptor() { layers::SurfaceDescriptor desc; if (!mSurface->Serialize(desc)) return {}; diff --git a/gfx/gl/SharedSurfaceDMABUF.h b/gfx/gl/SharedSurfaceDMABUF.h index 89baa3d9cf1d..29eae088f0f3 100644 --- a/gfx/gl/SharedSurfaceDMABUF.h +++ b/gfx/gl/SharedSurfaceDMABUF.h @@ -43,6 +43,8 @@ class SharedSurface_DMABUF final : public SharedSurface { virtual void ProducerReadReleaseImpl() override {} Maybe ToSurfaceDescriptor() override; + + void WaitForBufferOwnership() override; }; class SurfaceFactory_DMABUF : public SurfaceFactory {