1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/ozone/platform/dri/gbm_surfaceless.h"
7 #include "ui/ozone/platform/dri/dri_vsync_provider.h"
8 #include "ui/ozone/platform/dri/dri_window_delegate.h"
9 #include "ui/ozone/platform/dri/gbm_buffer.h"
10 #include "ui/ozone/platform/dri/hardware_display_controller.h"
14 GbmSurfaceless::GbmSurfaceless(DriWindowDelegate* window_delegate)
15 : window_delegate_(window_delegate) {
18 GbmSurfaceless::~GbmSurfaceless() {}
20 intptr_t GbmSurfaceless::GetNativeWindow() {
25 bool GbmSurfaceless::ResizeNativeWindow(const gfx::Size& viewport_size) {
30 bool GbmSurfaceless::OnSwapBuffers() {
31 HardwareDisplayController* controller = window_delegate_->GetController();
35 bool success = controller->SchedulePageFlip();
36 controller->WaitForPageFlipEvent();
41 scoped_ptr<gfx::VSyncProvider> GbmSurfaceless::CreateVSyncProvider() {
42 return scoped_ptr<gfx::VSyncProvider>(new DriVSyncProvider(window_delegate_));