blob: 5b69d75f00c6e0c3caba20e3c36a908352e1cfab [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/ozone/platform/drm/gpu/page_flip_request.h"
namespace ui {
PageFlipRequest::PageFlipRequest(int crtc_count,
const SwapCompletionCallback& callback)
: callback_(callback), crtc_count_(crtc_count) {
}
PageFlipRequest::~PageFlipRequest() {
}
void PageFlipRequest::Signal(gfx::SwapResult result) {
if (result == gfx::SwapResult::SWAP_FAILED)
result_ = gfx::SwapResult::SWAP_FAILED;
else if (result != gfx::SwapResult::SWAP_ACK)
result_ = result;
if (!--crtc_count_) {
callback_.Run(result_);
callback_.Reset();
}
}
} // namespace ui