| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/gl/gl_surface.h" | 5 #include "ui/gl/gl_surface.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/location.h" | 9 #include "base/location.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 | 359 |
| 360 base::Closure fence_wait_task = | 360 base::Closure fence_wait_task = |
| 361 base::Bind(&WaitForFence, GetDisplay(), fence); | 361 base::Bind(&WaitForFence, GetDisplay(), fence); |
| 362 | 362 |
| 363 base::Closure fence_retired_callback = | 363 base::Closure fence_retired_callback = |
| 364 base::Bind(&GLSurfaceOzoneSurfaceless::FenceRetired, | 364 base::Bind(&GLSurfaceOzoneSurfaceless::FenceRetired, |
| 365 weak_factory_.GetWeakPtr(), fence, frame); | 365 weak_factory_.GetWeakPtr(), fence, frame); |
| 366 | 366 |
| 367 base::WorkerPool::PostTaskAndReply(FROM_HERE, fence_wait_task, | 367 base::WorkerPool::PostTaskAndReply(FROM_HERE, fence_wait_task, |
| 368 fence_retired_callback, false); | 368 fence_retired_callback, false); |
| 369 } else if (ozone_surface_->IsUniversalDisplayLinkDevice()) { | 369 return; // Defer frame submission until fence signals. |
| 370 } |
| 371 |
| 372 if (ozone_surface_->IsUniversalDisplayLinkDevice()) |
| 370 glFinish(); | 373 glFinish(); |
| 371 } | |
| 372 | 374 |
| 373 frame->ready = true; | 375 frame->ready = true; |
| 374 SubmitFrame(); | 376 SubmitFrame(); |
| 375 } | 377 } |
| 376 | 378 |
| 377 void GLSurfaceOzoneSurfaceless::PostSubBufferAsync( | 379 void GLSurfaceOzoneSurfaceless::PostSubBufferAsync( |
| 378 int x, | 380 int x, |
| 379 int y, | 381 int y, |
| 380 int width, | 382 int width, |
| 381 int height, | 383 int height, |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 731 } | 733 } |
| 732 } | 734 } |
| 733 | 735 |
| 734 EGLNativeDisplayType GetPlatformDefaultEGLNativeDisplay() { | 736 EGLNativeDisplayType GetPlatformDefaultEGLNativeDisplay() { |
| 735 return ui::OzonePlatform::GetInstance() | 737 return ui::OzonePlatform::GetInstance() |
| 736 ->GetSurfaceFactoryOzone() | 738 ->GetSurfaceFactoryOzone() |
| 737 ->GetNativeDisplay(); | 739 ->GetNativeDisplay(); |
| 738 } | 740 } |
| 739 | 741 |
| 740 } // namespace gfx | 742 } // namespace gfx |
| OLD | NEW |