Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Side by Side Diff: content/browser/compositor/software_browser_compositor_output_surface.cc

Issue 2374183006: Remove GLFrameData from CompositorFrame. (Closed)
Patch Set: Rebase. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "content/browser/compositor/software_browser_compositor_output_surface. h" 5 #include "content/browser/compositor/software_browser_compositor_output_surface. h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/threading/thread_task_runner_handle.h" 11 #include "base/threading/thread_task_runner_handle.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "build/build_config.h" 13 #include "build/build_config.h"
14 #include "cc/output/compositor_frame.h"
15 #include "cc/output/output_surface_client.h" 14 #include "cc/output/output_surface_client.h"
15 #include "cc/output/output_surface_frame.h"
16 #include "cc/output/software_output_device.h" 16 #include "cc/output/software_output_device.h"
17 #include "content/browser/renderer_host/render_widget_host_impl.h" 17 #include "content/browser/renderer_host/render_widget_host_impl.h"
18 #include "ui/events/latency_info.h" 18 #include "ui/events/latency_info.h"
19 #include "ui/gfx/vsync_provider.h" 19 #include "ui/gfx/vsync_provider.h"
20 20
21 namespace content { 21 namespace content {
22 22
23 SoftwareBrowserCompositorOutputSurface::SoftwareBrowserCompositorOutputSurface( 23 SoftwareBrowserCompositorOutputSurface::SoftwareBrowserCompositorOutputSurface(
24 std::unique_ptr<cc::SoftwareOutputDevice> software_device, 24 std::unique_ptr<cc::SoftwareOutputDevice> software_device,
25 const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager, 25 const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager,
(...skipping 14 matching lines...) Expand all
40 void SoftwareBrowserCompositorOutputSurface::DiscardBackbuffer() { 40 void SoftwareBrowserCompositorOutputSurface::DiscardBackbuffer() {
41 software_device()->DiscardBackbuffer(); 41 software_device()->DiscardBackbuffer();
42 } 42 }
43 43
44 void SoftwareBrowserCompositorOutputSurface::BindFramebuffer() { 44 void SoftwareBrowserCompositorOutputSurface::BindFramebuffer() {
45 // Not used for software surfaces. 45 // Not used for software surfaces.
46 NOTREACHED(); 46 NOTREACHED();
47 } 47 }
48 48
49 void SoftwareBrowserCompositorOutputSurface::SwapBuffers( 49 void SoftwareBrowserCompositorOutputSurface::SwapBuffers(
50 cc::CompositorFrame frame) { 50 cc::OutputSurfaceFrame frame) {
51 base::TimeTicks swap_time = base::TimeTicks::Now(); 51 base::TimeTicks swap_time = base::TimeTicks::Now();
52 for (auto& latency : frame.metadata.latency_info) { 52 for (auto& latency : frame.latency_info) {
53 latency.AddLatencyNumberWithTimestamp( 53 latency.AddLatencyNumberWithTimestamp(
54 ui::INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT, 0, 0, swap_time, 1); 54 ui::INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT, 0, 0, swap_time, 1);
55 latency.AddLatencyNumberWithTimestamp( 55 latency.AddLatencyNumberWithTimestamp(
56 ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0, 56 ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0,
57 swap_time, 1); 57 swap_time, 1);
58 } 58 }
59 base::ThreadTaskRunnerHandle::Get()->PostTask( 59 base::ThreadTaskRunnerHandle::Get()->PostTask(
60 FROM_HERE, base::Bind(&RenderWidgetHostImpl::CompositorFrameDrawn, 60 FROM_HERE, base::Bind(&RenderWidgetHostImpl::CompositorFrameDrawn,
61 frame.metadata.latency_info)); 61 frame.latency_info));
62 62
63 gfx::VSyncProvider* vsync_provider = software_device()->GetVSyncProvider(); 63 gfx::VSyncProvider* vsync_provider = software_device()->GetVSyncProvider();
64 if (vsync_provider) { 64 if (vsync_provider) {
65 vsync_provider->GetVSyncParameters(base::Bind( 65 vsync_provider->GetVSyncParameters(base::Bind(
66 &BrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu, 66 &BrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu,
67 weak_factory_.GetWeakPtr())); 67 weak_factory_.GetWeakPtr()));
68 } 68 }
69 PostSwapBuffersComplete(); 69 PostSwapBuffersComplete();
70 } 70 }
71 71
(...skipping 24 matching lines...) Expand all
96 NOTREACHED(); 96 NOTREACHED();
97 } 97 }
98 98
99 #if defined(OS_MACOSX) 99 #if defined(OS_MACOSX)
100 void SoftwareBrowserCompositorOutputSurface::SetSurfaceSuspendedForRecycle( 100 void SoftwareBrowserCompositorOutputSurface::SetSurfaceSuspendedForRecycle(
101 bool suspended) { 101 bool suspended) {
102 } 102 }
103 #endif 103 #endif
104 104
105 } // namespace content 105 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698