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

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: review comment + android_arm64_dbg_recipe bot issue. Created 5 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 (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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } 61 }
62 62
63 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) { 63 bool CommandBufferProxyImpl::OnMessageReceived(const IPC::Message& message) {
64 scoped_ptr<base::AutoLock> lock; 64 scoped_ptr<base::AutoLock> lock;
65 if (lock_) 65 if (lock_)
66 lock.reset(new base::AutoLock(*lock_)); 66 lock.reset(new base::AutoLock(*lock_));
67 bool handled = true; 67 bool handled = true;
68 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message) 68 IPC_BEGIN_MESSAGE_MAP(CommandBufferProxyImpl, message)
69 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed); 69 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_Destroyed, OnDestroyed);
70 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage); 70 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ConsoleMsg, OnConsoleMessage);
71 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SetMemoryAllocation,
72 OnSetMemoryAllocation);
73 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalSyncPointAck, 71 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SignalSyncPointAck,
74 OnSignalSyncPointAck); 72 OnSignalSyncPointAck);
75 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SwapBuffersCompleted, 73 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SwapBuffersCompleted,
76 OnSwapBuffersCompleted); 74 OnSwapBuffersCompleted);
77 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_UpdateVSyncParameters, 75 IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_UpdateVSyncParameters,
78 OnUpdateVSyncParameters); 76 OnUpdateVSyncParameters);
79 IPC_MESSAGE_UNHANDLED(handled = false) 77 IPC_MESSAGE_UNHANDLED(handled = false)
80 IPC_END_MESSAGE_MAP() 78 IPC_END_MESSAGE_MAP()
81 79
82 DCHECK(handled); 80 DCHECK(handled);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 } 119 }
122 } 120 }
123 121
124 void CommandBufferProxyImpl::OnConsoleMessage( 122 void CommandBufferProxyImpl::OnConsoleMessage(
125 const GPUCommandBufferConsoleMessage& message) { 123 const GPUCommandBufferConsoleMessage& message) {
126 if (!console_message_callback_.is_null()) { 124 if (!console_message_callback_.is_null()) {
127 console_message_callback_.Run(message.message, message.id); 125 console_message_callback_.Run(message.message, message.id);
128 } 126 }
129 } 127 }
130 128
131 void CommandBufferProxyImpl::SetMemoryAllocationChangedCallback(
132 const MemoryAllocationChangedCallback& callback) {
133 CheckLock();
134 if (last_state_.error != gpu::error::kNoError)
135 return;
136
137 memory_allocation_changed_callback_ = callback;
138 Send(new GpuCommandBufferMsg_SetClientHasMemoryAllocationChangedCallback(
139 route_id_, !memory_allocation_changed_callback_.is_null()));
140 }
141
142 void CommandBufferProxyImpl::AddDeletionObserver(DeletionObserver* observer) { 129 void CommandBufferProxyImpl::AddDeletionObserver(DeletionObserver* observer) {
143 CheckLock(); 130 CheckLock();
144 deletion_observers_.AddObserver(observer); 131 deletion_observers_.AddObserver(observer);
145 } 132 }
146 133
147 void CommandBufferProxyImpl::RemoveDeletionObserver( 134 void CommandBufferProxyImpl::RemoveDeletionObserver(
148 DeletionObserver* observer) { 135 DeletionObserver* observer) {
149 CheckLock(); 136 CheckLock();
150 deletion_observers_.RemoveObserver(observer); 137 deletion_observers_.RemoveObserver(observer);
151 } 138 }
152 139
153 void CommandBufferProxyImpl::OnSetMemoryAllocation(
154 const gpu::MemoryAllocation& allocation) {
155 if (!memory_allocation_changed_callback_.is_null())
156 memory_allocation_changed_callback_.Run(allocation);
157 }
158
159 void CommandBufferProxyImpl::OnSignalSyncPointAck(uint32 id) { 140 void CommandBufferProxyImpl::OnSignalSyncPointAck(uint32 id) {
160 SignalTaskMap::iterator it = signal_tasks_.find(id); 141 SignalTaskMap::iterator it = signal_tasks_.find(id);
161 DCHECK(it != signal_tasks_.end()); 142 DCHECK(it != signal_tasks_.end());
162 base::Closure callback = it->second; 143 base::Closure callback = it->second;
163 signal_tasks_.erase(it); 144 signal_tasks_.erase(it);
164 callback.Run(); 145 callback.Run();
165 } 146 }
166 147
167 void CommandBufferProxyImpl::SetContextLostCallback( 148 void CommandBufferProxyImpl::SetContextLostCallback(
168 const base::Closure& callback) { 149 const base::Closure& callback) {
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 } 638 }
658 } 639 }
659 640
660 void CommandBufferProxyImpl::OnUpdateVSyncParameters(base::TimeTicks timebase, 641 void CommandBufferProxyImpl::OnUpdateVSyncParameters(base::TimeTicks timebase,
661 base::TimeDelta interval) { 642 base::TimeDelta interval) {
662 if (!update_vsync_parameters_completion_callback_.is_null()) 643 if (!update_vsync_parameters_completion_callback_.is_null())
663 update_vsync_parameters_completion_callback_.Run(timebase, interval); 644 update_vsync_parameters_completion_callback_.Run(timebase, interval);
664 } 645 }
665 646
666 } // namespace content 647 } // 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