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..7c88d7a5710054eb4c814fc815d13a47efccbd9e 100644 |
--- a/ui/gfx/native_pixmap_handle_ozone.h |
+++ b/ui/gfx/native_pixmap_handle_ozone.h |
@@ -13,6 +13,24 @@ |
namespace gfx { |
+// GbmBufferPlane is used to carry the plane related information for GBM |
+// buffer. More fields can be added if they are plane specific. |
+struct GFX_EXPORT GbmBufferPlane { |
+ GbmBufferPlane(); |
+ GbmBufferPlane(int stride, int offset, uint64_t modifier); |
+ GbmBufferPlane(const GbmBufferPlane& other); |
+ ~GbmBufferPlane(); |
+ |
+ // 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<GbmBufferPlane> planes; |
}; |
} // namespace gfx |