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. 4 5 #include "ui/ozone/platform/dri/gbm_surfaceless.h" 6 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" 11 12 namespace ui { 13 GbmSurfaceless(DriWindowDelegate * window_delegate)14GbmSurfaceless::GbmSurfaceless(DriWindowDelegate* window_delegate) 15 : window_delegate_(window_delegate) { 16 } 17 ~GbmSurfaceless()18GbmSurfaceless::~GbmSurfaceless() {} 19 GetNativeWindow()20intptr_t GbmSurfaceless::GetNativeWindow() { 21 NOTREACHED(); 22 return 0; 23 } 24 ResizeNativeWindow(const gfx::Size & viewport_size)25bool GbmSurfaceless::ResizeNativeWindow(const gfx::Size& viewport_size) { 26 NOTIMPLEMENTED(); 27 return false; 28 } 29 OnSwapBuffers()30bool GbmSurfaceless::OnSwapBuffers() { 31 HardwareDisplayController* controller = window_delegate_->GetController(); 32 if (!controller) 33 return true; 34 35 bool success = controller->SchedulePageFlip(); 36 controller->WaitForPageFlipEvent(); 37 38 return success; 39 } 40 CreateVSyncProvider()41scoped_ptr<gfx::VSyncProvider> GbmSurfaceless::CreateVSyncProvider() { 42 return scoped_ptr<gfx::VSyncProvider>(new DriVSyncProvider(window_delegate_)); 43 } 44 45 } // namespace ui 46