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

Side by Side Diff: content/common/gpu/image_transport_surface.cc

Issue 8513013: Plumb the partial swap though image transport. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Now with a few compile fixes (tested Win, Mac, Linux, and Aura) Created 9 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #if defined(ENABLE_GPU) 5 #if defined(ENABLE_GPU)
6 6
7 #include "content/common/gpu/image_transport_surface.h" 7 #include "content/common/gpu/image_transport_surface.h"
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 } 53 }
54 54
55 void ImageTransportHelper::Destroy() { 55 void ImageTransportHelper::Destroy() {
56 } 56 }
57 57
58 bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) { 58 bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) {
59 bool handled = true; 59 bool handled = true;
60 IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message) 60 IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message)
61 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BuffersSwappedACK, 61 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BuffersSwappedACK,
62 OnBuffersSwappedACK) 62 OnBuffersSwappedACK)
63 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_PostSubBufferACK,
64 OnPostSubBufferACK)
63 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_NewACK, 65 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_NewACK,
64 OnNewSurfaceACK) 66 OnNewSurfaceACK)
65 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_ResizeViewACK, OnResizeViewACK); 67 IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_ResizeViewACK, OnResizeViewACK);
66 IPC_MESSAGE_UNHANDLED(handled = false) 68 IPC_MESSAGE_UNHANDLED(handled = false)
67 IPC_END_MESSAGE_MAP() 69 IPC_END_MESSAGE_MAP()
68 return handled; 70 return handled;
69 } 71 }
70 72
71 void ImageTransportHelper::SendAcceleratedSurfaceRelease( 73 void ImageTransportHelper::SendAcceleratedSurfaceRelease(
72 GpuHostMsg_AcceleratedSurfaceRelease_Params params) { 74 GpuHostMsg_AcceleratedSurfaceRelease_Params params) {
(...skipping 18 matching lines...) Expand all
91 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) { 93 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) {
92 params.renderer_id = renderer_id_; 94 params.renderer_id = renderer_id_;
93 params.render_view_id = render_view_id_; 95 params.render_view_id = render_view_id_;
94 params.route_id = route_id_; 96 params.route_id = route_id_;
95 #if defined(OS_MACOSX) 97 #if defined(OS_MACOSX)
96 params.window = handle_; 98 params.window = handle_;
97 #endif 99 #endif
98 manager_->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped(params)); 100 manager_->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped(params));
99 } 101 }
100 102
103 void ImageTransportHelper::SendAcceleratedSurfacePostSubBuffer(
104 GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params params) {
105 params.renderer_id = renderer_id_;
106 params.render_view_id = render_view_id_;
107 params.route_id = route_id_;
108 #if defined(OS_MACOSX)
109 params.window = handle_;
110 #endif
111 manager_->Send(new GpuHostMsg_AcceleratedSurfacePostSubBuffer(params));
112 }
113
101 void ImageTransportHelper::SendResizeView(const gfx::Size& size) { 114 void ImageTransportHelper::SendResizeView(const gfx::Size& size) {
102 manager_->Send(new GpuHostMsg_ResizeView(renderer_id_, 115 manager_->Send(new GpuHostMsg_ResizeView(renderer_id_,
103 render_view_id_, 116 render_view_id_,
104 route_id_, 117 route_id_,
105 size)); 118 size));
106 } 119 }
107 120
108 void ImageTransportHelper::SetScheduled(bool is_scheduled) { 121 void ImageTransportHelper::SetScheduled(bool is_scheduled) {
109 gpu::GpuScheduler* scheduler = Scheduler(); 122 gpu::GpuScheduler* scheduler = Scheduler();
110 if (!scheduler) 123 if (!scheduler)
111 return; 124 return;
112 125
113 scheduler->SetScheduled(is_scheduled); 126 scheduler->SetScheduled(is_scheduled);
114 } 127 }
115 128
116 void ImageTransportHelper::DeferToFence(base::Closure task) { 129 void ImageTransportHelper::DeferToFence(base::Closure task) {
117 gpu::GpuScheduler* scheduler = Scheduler(); 130 gpu::GpuScheduler* scheduler = Scheduler();
118 DCHECK(scheduler); 131 DCHECK(scheduler);
119 132
120 scheduler->DeferToFence(task); 133 scheduler->DeferToFence(task);
121 } 134 }
122 135
123 void ImageTransportHelper::OnBuffersSwappedACK() { 136 void ImageTransportHelper::OnBuffersSwappedACK() {
124 surface_->OnBuffersSwappedACK(); 137 surface_->OnBuffersSwappedACK();
125 } 138 }
126 139
140 void ImageTransportHelper::OnPostSubBufferACK() {
141 surface_->OnPostSubBufferACK();
142 }
143
127 void ImageTransportHelper::OnNewSurfaceACK( 144 void ImageTransportHelper::OnNewSurfaceACK(
128 uint64 surface_id, 145 uint64 surface_id,
129 TransportDIB::Handle shm_handle) { 146 TransportDIB::Handle shm_handle) {
130 surface_->OnNewSurfaceACK(surface_id, shm_handle); 147 surface_->OnNewSurfaceACK(surface_id, shm_handle);
131 } 148 }
132 149
133 void ImageTransportHelper::OnResizeViewACK() { 150 void ImageTransportHelper::OnResizeViewACK() {
134 surface_->OnResizeViewACK(); 151 surface_->OnResizeViewACK();
135 } 152 }
136 153
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 void PassThroughImageTransportSurface::Destroy() { 239 void PassThroughImageTransportSurface::Destroy() {
223 helper_->Destroy(); 240 helper_->Destroy();
224 GLSurfaceAdapter::Destroy(); 241 GLSurfaceAdapter::Destroy();
225 } 242 }
226 243
227 void PassThroughImageTransportSurface::OnNewSurfaceACK( 244 void PassThroughImageTransportSurface::OnNewSurfaceACK(
228 uint64 surface_id, TransportDIB::Handle surface_handle) { 245 uint64 surface_id, TransportDIB::Handle surface_handle) {
229 } 246 }
230 247
231 void PassThroughImageTransportSurface::OnBuffersSwappedACK() { 248 void PassThroughImageTransportSurface::OnBuffersSwappedACK() {
249 NOTREACHED();
250 }
251
252 void PassThroughImageTransportSurface::OnPostSubBufferACK() {
253 NOTREACHED();
232 } 254 }
233 255
234 void PassThroughImageTransportSurface::OnResizeViewACK() { 256 void PassThroughImageTransportSurface::OnResizeViewACK() {
235 helper_->SetScheduled(true); 257 helper_->SetScheduled(true);
236 } 258 }
237 259
238 void PassThroughImageTransportSurface::OnResize(gfx::Size size) { 260 void PassThroughImageTransportSurface::OnResize(gfx::Size size) {
239 helper_->SendResizeView(size); 261 helper_->SendResizeView(size);
240 helper_->SetScheduled(false); 262 helper_->SetScheduled(false);
241 } 263 }
242 264
243 #endif // defined(ENABLE_GPU) 265 #endif // defined(ENABLE_GPU)
OLDNEW
« no previous file with comments | « content/common/gpu/image_transport_surface.h ('k') | content/common/gpu/image_transport_surface_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698