Index: ui/gfx/native_pixmap_handle_ozone.h |
diff --git a/ui/gfx/native_pixmap_handle_ozone.h b/ui/gfx/native_pixmap_handle_ozone.h |
index 3672feca1cab3bac6d9e7dd2676353ff488e821d..ae80414b53b48f1eb78da4611c179e4858b8f789 100644 |
--- a/ui/gfx/native_pixmap_handle_ozone.h |
+++ b/ui/gfx/native_pixmap_handle_ozone.h |
@@ -13,6 +13,24 @@ |
namespace gfx { |
+// NativePixmapPlane is used to carry the plane related information for GBM |
+// buffer. More fields can be added if they are plane specific. |
+struct GFX_EXPORT NativePixmapPlane { |
+ NativePixmapPlane(); |
+ NativePixmapPlane(int stride, int offset, uint64_t modifier); |
+ NativePixmapPlane(const NativePixmapPlane& other); |
+ ~NativePixmapPlane(); |
+ |
+ // The strides and offsets in bytes to be used when accessing the buffers via |
+ // a memory mapping. One per plane per entry. |
+ int stride; |
+ int offset; |
+ // The modifier is retrieved from GBM library and passed to EGL driver. |
+ // Generally it's platform specific, and we don't need to modify it in |
+ // Chromium code. Also one per plane per entry. |
+ uint64_t modifier; |
+}; |
+ |
struct GFX_EXPORT NativePixmapHandle { |
NativePixmapHandle(); |
NativePixmapHandle(const NativePixmapHandle& other); |
@@ -21,9 +39,7 @@ struct GFX_EXPORT NativePixmapHandle { |
// File descriptors for the underlying memory objects (usually dmabufs). |
std::vector<base::FileDescriptor> fds; |
- // The strides and offsets in bytes to be used when accessing the buffers via |
- // a memory mapping. One per plane per entry. |
- std::vector<std::pair<int, int>> strides_and_offsets; |
+ std::vector<NativePixmapPlane> planes; |
}; |
} // namespace gfx |