Index: ui/ozone/platform/drm/gpu/drm_window.h |
diff --git a/ui/ozone/platform/drm/gpu/drm_window.h b/ui/ozone/platform/drm/gpu/drm_window.h |
index 629fbdcd7badd1721f9dac2c27560750c6ff9f2f..221c694e6ad3c983d2ab9053947ff51fa9b70102 100644 |
--- a/ui/ozone/platform/drm/gpu/drm_window.h |
+++ b/ui/ozone/platform/drm/gpu/drm_window.h |
@@ -30,6 +30,7 @@ namespace ui { |
class DrmBuffer; |
class DrmDevice; |
class DrmDeviceManager; |
+class DrmOverlayCandidate; |
class HardwareDisplayController; |
struct OverlayCheck_Params; |
class ScanoutBufferGenerator; |
@@ -87,7 +88,8 @@ class OZONE_EXPORT DrmWindow { |
void SchedulePageFlip(const std::vector<OverlayPlane>& planes, |
const SwapCompletionCallback& callback); |
std::vector<OverlayCheck_Params> TestPageFlip( |
- const std::vector<OverlayCheck_Params>& planes, |
+ const std::vector<OverlayCheck_Params>& current_combination, |
+ const std::vector<OverlayCheck_Params>& new_combination, |
ScanoutBufferGenerator* buffer_generator); |
// Returns the last buffer associated with this window. |
@@ -96,6 +98,11 @@ class OZONE_EXPORT DrmWindow { |
void GetVSyncParameters( |
const gfx::VSyncProvider::UpdateVSyncCallback& callback) const; |
+ // Returns optimal buffer configuration for the expected OverlayCandidates |
+ // which can be supported by the display on which this window is shown. |
+ void GetOverlayBufferConfigurations( |
+ const OverlayParamCallback& callback) const; |
+ |
private: |
// Draw the last set cursor & update the cursor plane. |
void ResetCursor(bool bitmap_only); |
@@ -118,6 +125,7 @@ class OZONE_EXPORT DrmWindow { |
// The controller associated with the current window. This may be nullptr if |
// the window isn't over an active display. |
HardwareDisplayController* controller_ = nullptr; |
+ scoped_ptr<DrmOverlayCandidate> overlay_validator_; |
base::RepeatingTimer cursor_timer_; |