Index: ui/ozone/platform/drm/gpu/crtc_controller.h |
diff --git a/ui/ozone/platform/drm/gpu/crtc_controller.h b/ui/ozone/platform/drm/gpu/crtc_controller.h |
index 4404bfa25d9b24d9c0e8f070ba07caafebc5b2d7..7caae4e00daa280e528c16edd6f53e76da599d76 100644 |
--- a/ui/ozone/platform/drm/gpu/crtc_controller.h |
+++ b/ui/ozone/platform/drm/gpu/crtc_controller.h |
@@ -19,7 +19,7 @@ |
namespace ui { |
class DrmDevice; |
-class PageFlipObserver; |
+class PageFlipRequest; |
// Wrapper around a CRTC. |
// |
@@ -38,7 +38,6 @@ class OZONE_EXPORT CrtcController |
uint32_t connector() const { return connector_; } |
const scoped_refptr<DrmDevice>& drm() const { return drm_; } |
bool is_disabled() const { return is_disabled_; } |
- bool page_flip_pending() const { return page_flip_pending_; } |
uint64_t time_of_last_flip() const { return time_of_last_flip_; } |
drmModeCrtc* saved_crtc() const { return saved_crtc_.get(); } |
@@ -52,7 +51,8 @@ class OZONE_EXPORT CrtcController |
// Schedule a page flip event and present the overlays in |planes|. |
bool SchedulePageFlip(HardwareDisplayPlaneList* plane_list, |
- const OverlayPlaneList& planes); |
+ const OverlayPlaneList& planes, |
+ scoped_refptr<PageFlipRequest> page_flip_request); |
// Called if the page flip for this CRTC fails after being scheduled. |
void PageFlipFailed(); |
@@ -70,12 +70,11 @@ class OZONE_EXPORT CrtcController |
bool SetCursor(const scoped_refptr<ScanoutBuffer>& buffer); |
bool MoveCursor(const gfx::Point& location); |
- void AddObserver(PageFlipObserver* observer); |
- void RemoveObserver(PageFlipObserver* observer); |
- |
private: |
bool ResetCursor(); |
+ void SignalPageFlipRequest(); |
+ |
scoped_refptr<DrmDevice> drm_; |
HardwareDisplayPlaneManager* overlay_plane_manager_; // Not owned. |
@@ -85,6 +84,7 @@ class OZONE_EXPORT CrtcController |
OverlayPlaneList current_planes_; |
OverlayPlaneList pending_planes_; |
scoped_refptr<ScanoutBuffer> cursor_buffer_; |
+ scoped_refptr<PageFlipRequest> page_flip_request_; |
uint32_t crtc_; |
@@ -101,15 +101,9 @@ class OZONE_EXPORT CrtcController |
// is set to false. Otherwise it is true. |
bool is_disabled_; |
- // True if a successful SchedulePageFlip occurred. Reset to false by a modeset |
- // operation or when the OnPageFlipEvent callback is triggered. |
- bool page_flip_pending_; |
- |
// The time of the last page flip event as reported by the kernel callback. |
uint64_t time_of_last_flip_; |
- ObserverList<PageFlipObserver> observers_; |
- |
DISALLOW_COPY_AND_ASSIGN(CrtcController); |
}; |