Bug 1576910 - [Wayland] Add SurfaceDescriptorDMABuf to enable dma buf surface import/export on Wayland and (potentially) X11, r=sotaro
authorMartin Stransky <stransky@redhat.com>
Wed, 28 Aug 2019 02:13:03 +0000
changeset 554074 d920fb2cbec23e894932d1892fb166aefac39e78
parent 554073 da73ca6c2e2fc76729e589e1afe988754aab287d
child 554075 d3fe24ea630981ac7b2fe46912a03aff2665e1b6
push id2165
push userffxbld-merge
push dateMon, 14 Oct 2019 16:30:58 +0000
treeherdermozilla-release@0eae18af659f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssotaro
bugs1576910
milestone70.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1576910 - [Wayland] Add SurfaceDescriptorDMABuf to enable dma buf surface import/export on Wayland and (potentially) X11, r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D43611
gfx/layers/ipc/LayersSurfaces.ipdlh
--- a/gfx/layers/ipc/LayersSurfaces.ipdlh
+++ b/gfx/layers/ipc/LayersSurfaces.ipdlh
@@ -53,16 +53,26 @@ struct SurfaceDescriptorDXGIYCbCr {
 
 struct SurfaceDescriptorMacIOSurface {
   uint32_t surfaceId;
   double scaleFactor;
   bool isOpaque;
   YUVColorSpace yUVColorSpace;
 };
 
+struct SurfaceDescriptorDMABuf {
+  uint32_t width;
+  uint32_t height;
+  uint32_t format;
+  uint32_t flags;
+  FileDescriptor fd;
+  uint32_t stride;
+  uint32_t offset;
+};
+
 struct SurfaceTextureDescriptor {
   uint64_t handle;
   IntSize size;
   SurfaceFormat format;
   bool continuous;
   bool ignoreTransform;
 };
 
@@ -143,16 +153,17 @@ struct SurfaceDescriptorRecorded {
 
 union SurfaceDescriptor {
   SurfaceDescriptorBuffer;
   SurfaceDescriptorDIB;
   SurfaceDescriptorD3D10;
   SurfaceDescriptorFileMapping;
   SurfaceDescriptorDXGIYCbCr;
   SurfaceDescriptorX11;
+  SurfaceDescriptorDMABuf;
   SurfaceTextureDescriptor;
   EGLImageDescriptor;
   SurfaceDescriptorMacIOSurface;
   SurfaceDescriptorSharedGLTexture;
   SurfaceDescriptorGPUVideo;
   SurfaceDescriptorRecorded;
   null_t;
 };