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

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

Issue 1412923004: Revert of Move gpu memory calculations to Compositor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 1 month 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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 } 65 }
66 66
67 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) { 67 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) {
68 scoped_ptr<base::AutoLock> lock; 68 scoped_ptr<base::AutoLock> lock;
69 if (lock_) 69 if (lock_)
70 lock.reset(new base::AutoLock(*lock_)); 70 lock.reset(new base::AutoLock(*lock_));
71 bool handled = true; 71 bool handled = true;
72 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message) 72 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message)
73 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed); 73 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed);
74 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage); 74 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage);
75 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SetMemoryAllocation,
76 OnSetMemoryAllocation);
75 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalAck, 77 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalAck,
76 OnSignalAck); 78 OnSignalAck);
77 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SwapBuffersCompleted, 79 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SwapBuffersCompleted,
78 OnSwapBuffersCompleted); 80 OnSwapBuffersCompleted);
79 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_UpdateVSyncParameters, 81 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_UpdateVSyncParameters,
80 OnUpdateVSyncParameters); 82 OnUpdateVSyncParameters);
81 IPC_MESSAGE_UNHANDLED(handled = false) 83 IPC_MESSAGE_UNHANDLED(handled = false)
82 IPC_END_MESSAGE_MAP() 84 IPC_END_MESSAGE_MAP()
83 85
84 DCHECK(handled); 86 DCHECK(handled);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 125 }
124 } 126 }
125 127
126 void CommandBufferProxyImpl::OnConsoleMessage( 128 void CommandBufferProxyImpl::OnConsoleMessage(
127 const GPUCommandBufferConsoleMessage& message) { 129 const GPUCommandBufferConsoleMessage& message) {
128 if (!console_message_callback_.is_null()) { 130 if (!console_message_callback_.is_null()) {
129 console_message_callback_.Run(message.message, message.id); 131 console_message_callback_.Run(message.message, message.id);
130 } 132 }
131 } 133 }
132 134
135 void CommandBufferProxyImpl::SetMemoryAllocationChangedCallback(
136 const MemoryAllocationChangedCallback& callback) {
137 CheckLock();
138 if (last_state_.error != gpu::error::kNoError)
139 return;
140
141 memory_allocation_changed_callback_ = callback;
142 Send(new GpuCommandBufferMsg_SetClientHasMemoryAllocationChangedCallback(
143 route_id_, !memory_allocation_changed_callback_.is_null()));
144 }
145
133 void CommandBufferProxyImpl::AddDeletionObserver(DeletionObserver* observer) { 146 void CommandBufferProxyImpl::AddDeletionObserver(DeletionObserver* observer) {
134 scoped_ptr<base::AutoLock> lock; 147 scoped_ptr<base::AutoLock> lock;
135 if (lock_) 148 if (lock_)
136 lock.reset(new base::AutoLock(*lock_)); 149 lock.reset(new base::AutoLock(*lock_));
137 deletion_observers_.AddObserver(observer); 150 deletion_observers_.AddObserver(observer);
138 } 151 }
139 152
140 void CommandBufferProxyImpl::RemoveDeletionObserver( 153 void CommandBufferProxyImpl::RemoveDeletionObserver(
141 DeletionObserver* observer) { 154 DeletionObserver* observer) {
142 scoped_ptr<base::AutoLock> lock; 155 scoped_ptr<base::AutoLock> lock;
143 if (lock_) 156 if (lock_)
144 lock.reset(new base::AutoLock(*lock_)); 157 lock.reset(new base::AutoLock(*lock_));
145 deletion_observers_.RemoveObserver(observer); 158 deletion_observers_.RemoveObserver(observer);
146 } 159 }
147 160
161 void CommandBufferProxyImpl::OnSetMemoryAllocation(
162 const gpu::MemoryAllocation& allocation) {
163 if (!memory_allocation_changed_callback_.is_null())
164 memory_allocation_changed_callback_.Run(allocation);
165 }
166
148 void CommandBufferProxyImpl::OnSignalAck(uint32 id) { 167 void CommandBufferProxyImpl::OnSignalAck(uint32 id) {
149 SignalTaskMap::iterator it = signal_tasks_.find(id); 168 SignalTaskMap::iterator it = signal_tasks_.find(id);
150 DCHECK(it != signal_tasks_.end()); 169 DCHECK(it != signal_tasks_.end());
151 base::Closure callback = it->second; 170 base::Closure callback = it->second;
152 signal_tasks_.erase(it); 171 signal_tasks_.erase(it);
153 callback.Run(); 172 callback.Run();
154 } 173 }
155 174
156 void CommandBufferProxyImpl::SetContextLostCallback( 175 void CommandBufferProxyImpl::SetContextLostCallback(
157 const base::Closure& callback) { 176 const base::Closure& callback) {
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 } 757 }
739 } 758 }
740 759
741 void CommandBufferProxyImpl::OnUpdateVSyncParameters(base::TimeTicks timebase, 760 void CommandBufferProxyImpl::OnUpdateVSyncParameters(base::TimeTicks timebase,
742 base::TimeDelta interval) { 761 base::TimeDelta interval) {
743 if (!update_vsync_parameters_completion_callback_.is_null()) 762 if (!update_vsync_parameters_completion_callback_.is_null())
744 update_vsync_parameters_completion_callback_.Run(timebase, interval); 763 update_vsync_parameters_completion_callback_.Run(timebase, interval);
745 } 764 }
746 765
747 } // namespace content 766 } // namespace content
OLDNEW
« no previous file with comments | « content/common/gpu/client/command_buffer_proxy_impl.h ('k') | content/common/gpu/client/context_provider_command_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698