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 {