Chromium Code Reviews| Index: ui/ozone/platform/drm/gpu/crtc_controller.cc |
| diff --git a/ui/ozone/platform/drm/gpu/crtc_controller.cc b/ui/ozone/platform/drm/gpu/crtc_controller.cc |
| index adc3c84c8b078523e86904ded17e666b2f74a924..758abcd0f2d2c761beecac5a4c3f214a73273429 100644 |
| --- a/ui/ozone/platform/drm/gpu/crtc_controller.cc |
| +++ b/ui/ozone/platform/drm/gpu/crtc_controller.cc |
| @@ -32,7 +32,7 @@ CrtcController::~CrtcController() { |
| SetCursor(nullptr); |
| drm_->DisableCrtc(crtc_); |
| - SignalPageFlipRequest(); |
| + SignalPageFlipRequest(gfx::SwapResult::SWAP_ACK); |
| } |
| } |
| @@ -118,11 +118,6 @@ std::vector<uint32_t> CrtcController::GetCompatibleHardwarePlaneIds( |
| return drm_->plane_manager()->GetCompatibleHardwarePlaneIds(plane, crtc_); |
| } |
| -void CrtcController::PageFlipFailed() { |
| - pending_planes_.clear(); |
| - SignalPageFlipRequest(); |
| -} |
| - |
| void CrtcController::OnPageFlipEvent(unsigned int frame, |
| unsigned int seconds, |
| unsigned int useconds) { |
| @@ -133,7 +128,7 @@ void CrtcController::OnPageFlipEvent(unsigned int frame, |
| current_planes_.clear(); |
| current_planes_.swap(pending_planes_); |
|
spang
2015/10/29 20:59:20
I think it should be moved to SignalPageFlipReques
dnicoara
2015/10/30 14:59:31
Acknowledged.
|
| - SignalPageFlipRequest(); |
| + SignalPageFlipRequest(gfx::SwapResult::SWAP_ACK); |
| } |
| bool CrtcController::SetCursor(const scoped_refptr<ScanoutBuffer>& buffer) { |
| @@ -167,7 +162,8 @@ bool CrtcController::ResetCursor() { |
| return status; |
| } |
| -void CrtcController::SignalPageFlipRequest() { |
| +void CrtcController::SignalPageFlipRequest(gfx::SwapResult result) { |
| + pending_planes_.clear(); |
| if (page_flip_request_.get()) { |
|
spang
2015/10/29 20:59:20
When is this false?
dnicoara
2015/10/30 14:59:31
This was needed when HDC::SchedulePageFlip() was r
dnicoara
2015/10/30 17:21:59
Actually, sorry, you're right, it shouldn't be pos
|
| // If another frame is queued up and available immediately, calling Signal() |
| // may result in a call to SchedulePageFlip(), which will override |
| @@ -175,7 +171,7 @@ void CrtcController::SignalPageFlipRequest() { |
| // locally to avoid deleting the object we are making a call on. |
| scoped_refptr<PageFlipRequest> last_request; |
| last_request.swap(page_flip_request_); |
| - last_request->Signal(gfx::SwapResult::SWAP_ACK); |
| + last_request->Signal(result); |
| } |
| } |