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 |