diff options
Diffstat (limited to 'ui/ozone/platform/drm/gpu/drm_window.h')
-rw-r--r-- | ui/ozone/platform/drm/gpu/drm_window.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ui/ozone/platform/drm/gpu/drm_window.h b/ui/ozone/platform/drm/gpu/drm_window.h index f655bbb..74e1e53 100644 --- a/ui/ozone/platform/drm/gpu/drm_window.h +++ b/ui/ozone/platform/drm/gpu/drm_window.h @@ -12,6 +12,7 @@ #include "ui/gfx/geometry/rect.h" #include "ui/gfx/native_widget_types.h" #include "ui/ozone/ozone_export.h" +#include "ui/ozone/platform/drm/gpu/overlay_plane.h" class SkBitmap; @@ -73,6 +74,16 @@ class OZONE_EXPORT DrmWindow { // Move the HW cursor to the specified location. void MoveCursor(const gfx::Point& location); + // Queue overlay planes and page flips. + // If hardware display controller is available, forward the information + // immediately, otherwise queue up on the window and forward when the hardware + // is once again ready. + void QueueOverlayPlane(const OverlayPlane& plane); + bool SchedulePageFlip(bool is_sync, const base::Closure& callback); + + // Returns the last buffer associated with this window. + const OverlayPlane* GetLastModesetBuffer(); + private: // Draw the last set cursor & update the cursor plane. void ResetCursor(bool bitmap_only); @@ -106,6 +117,12 @@ class OZONE_EXPORT DrmWindow { int cursor_frame_; int cursor_frame_delay_ms_; + // Planes and flips currently being queued in the absence of hardware display + // controller. + OverlayPlaneList pending_planes_; + OverlayPlaneList last_submitted_planes_; + bool last_swap_sync_; + DISALLOW_COPY_AND_ASSIGN(DrmWindow); }; |