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

Side by Side Diff: content/common/gpu/client/command_buffer_proxy_impl.cc

Issue 1324413003: Move gpu memory calculations to Compositor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove more memory alloc codes. Created 5 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/common/gpu/client/command_buffer_proxy_impl.h" 5 #include "content/common/gpu/client/command_buffer_proxy_impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 } 52 }
53 53
54 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) { 54 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) {
55 scoped_ptr<base::AutoLock> lock; 55 scoped_ptr<base::AutoLock> lock;
56 if (lock_) 56 if (lock_)
57 lock.reset(new base::AutoLock(*lock_)); 57 lock.reset(new base::AutoLock(*lock_));
58 bool handled = true; 58 bool handled = true;
59 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message) 59 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message)
60 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed); 60 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed);
61 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage); 61 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage);
62 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SetMemoryAllocation,
63 OnSetMemoryAllocation);
64 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalSyncPointAck, 62 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalSyncPointAck,
65 OnSignalSyncPointAck); 63 OnSignalSyncPointAck);
66 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SwapBuffersCompleted, 64 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SwapBuffersCompleted,
67 OnSwapBuffersCompleted); 65 OnSwapBuffersCompleted);
68 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_UpdateVSyncParameters, 66 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_UpdateVSyncParameters,
69 OnUpdateVSyncParameters); 67 OnUpdateVSyncParameters);
70 IPC_MESSAGE_UNHANDLED(handled = false) 68 IPC_MESSAGE_UNHANDLED(handled = false)
71 IPC_END_MESSAGE_MAP() 69 IPC_END_MESSAGE_MAP()
72 70
73 DCHECK(handled); 71 DCHECK(handled);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 } 110 }
113 } 111 }
114 112
115 void CommandBufferProxyImpl::OnConsoleMessage( 113 void CommandBufferProxyImpl::OnConsoleMessage(
116 const GPUCommandBufferConsoleMessage& message) { 114 const GPUCommandBufferConsoleMessage& message) {
117 if (!console_message_callback_.is_null()) { 115 if (!console_message_callback_.is_null()) {
118 console_message_callback_.Run(message.message, message.id); 116 console_message_callback_.Run(message.message, message.id);
119 } 117 }
120 } 118 }
121 119
122 void CommandBufferProxyImpl::SetMemoryAllocationChangedCallback(
123 const MemoryAllocationChangedCallback& callback) {
124 CheckLock();
125 if (last_state_.error != gpu::error::kNoError)
126 return;
127
128 memory_allocation_changed_callback_ = callback;
129 Send(new GpuCommandBufferMsg_SetClientHasMemoryAllocationChangedCallback(
130 route_id_, !memory_allocation_changed_callback_.is_null()));
131 }
132
133 void CommandBufferProxyImpl::AddDeletionObserver(DeletionObserver* observer) { 120 void CommandBufferProxyImpl::AddDeletionObserver(DeletionObserver* observer) {
134 CheckLock(); 121 CheckLock();
135 deletion_observers_.AddObserver(observer); 122 deletion_observers_.AddObserver(observer);
136 } 123 }
137 124
138 void CommandBufferProxyImpl::RemoveDeletionObserver( 125 void CommandBufferProxyImpl::RemoveDeletionObserver(
139 DeletionObserver* observer) { 126 DeletionObserver* observer) {
140 CheckLock(); 127 CheckLock();
141 deletion_observers_.RemoveObserver(observer); 128 deletion_observers_.RemoveObserver(observer);
142 } 129 }
143 130
144 void CommandBufferProxyImpl::OnSetMemoryAllocation(
145 const gpu::MemoryAllocation& allocation) {
146 if (!memory_allocation_changed_callback_.is_null())
147 memory_allocation_changed_callback_.Run(allocation);
148 }
149
150 void CommandBufferProxyImpl::OnSignalSyncPointAck(uint32 id) { 131 void CommandBufferProxyImpl::OnSignalSyncPointAck(uint32 id) {
151 SignalTaskMap::iterator it = signal_tasks_.find(id); 132 SignalTaskMap::iterator it = signal_tasks_.find(id);
152 DCHECK(it != signal_tasks_.end()); 133 DCHECK(it != signal_tasks_.end());
153 base::Closure callback = it->second; 134 base::Closure callback = it->second;
154 signal_tasks_.erase(it); 135 signal_tasks_.erase(it);
155 callback.Run(); 136 callback.Run();
156 } 137 }
157 138
158 void CommandBufferProxyImpl::SetContextLostCallback( 139 void CommandBufferProxyImpl::SetContextLostCallback(
159 const base::Closure& callback) { 140 const base::Closure& callback) {
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 } 621 }
641 } 622 }
642 623
643 void CommandBufferProxyImpl::OnUpdateVSyncParameters(base::TimeTicks timebase, 624 void CommandBufferProxyImpl::OnUpdateVSyncParameters(base::TimeTicks timebase,
644 base::TimeDelta interval) { 625 base::TimeDelta interval) {
645 if (!update_vsync_parameters_completion_callback_.is_null()) 626 if (!update_vsync_parameters_completion_callback_.is_null())
646 update_vsync_parameters_completion_callback_.Run(timebase, interval); 627 update_vsync_parameters_completion_callback_.Run(timebase, interval);
647 } 628 }
648 629
649 } // namespace content 630 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698