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

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

Issue 1489573003: Added an extra sync token field for extra command buffer identification. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Return False on invalid stream id Created 5 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
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/gpu_channel_host.h" 5 #include "content/common/gpu/client/gpu_channel_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/atomic_sequence_num.h" 9 #include "base/atomic_sequence_num.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 latency_info.begin(), latency_info.end()); 155 latency_info.begin(), latency_info.end());
156 156
157 if (do_flush) 157 if (do_flush)
158 InternalFlush(&flush_info); 158 InternalFlush(&flush_info);
159 159
160 return flush_id; 160 return flush_id;
161 } 161 }
162 return 0; 162 return 0;
163 } 163 }
164 164
165 void GpuChannelHost::FlushPendingStream(int32 stream_id) {
166 AutoLock lock(context_lock_);
167 auto flush_info_iter = stream_flush_info_.find(stream_id);
168 if (flush_info_iter == stream_flush_info_.end())
169 return;
170
171 StreamFlushInfo& flush_info = flush_info_iter->second;
172 if (flush_info.flush_pending)
173 InternalFlush(&flush_info);
174 }
175
165 void GpuChannelHost::InternalFlush(StreamFlushInfo* flush_info) { 176 void GpuChannelHost::InternalFlush(StreamFlushInfo* flush_info) {
166 context_lock_.AssertAcquired(); 177 context_lock_.AssertAcquired();
167 DCHECK(flush_info); 178 DCHECK(flush_info);
168 DCHECK(flush_info->flush_pending); 179 DCHECK(flush_info->flush_pending);
169 DCHECK_LT(flush_info->flushed_stream_flush_id, flush_info->flush_id); 180 DCHECK_LT(flush_info->flushed_stream_flush_id, flush_info->flush_id);
170 Send(new GpuCommandBufferMsg_AsyncFlush( 181 Send(new GpuCommandBufferMsg_AsyncFlush(
171 flush_info->route_id, flush_info->put_offset, flush_info->flush_count, 182 flush_info->route_id, flush_info->put_offset, flush_info->flush_count,
172 flush_info->latency_info)); 183 flush_info->latency_info));
173 flush_info->latency_info.clear(); 184 flush_info->latency_info.clear();
174 flush_info->flush_pending = false; 185 flush_info->flush_pending = false;
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 538
528 listeners_.clear(); 539 listeners_.clear();
529 } 540 }
530 541
531 bool GpuChannelHost::MessageFilter::IsLost() const { 542 bool GpuChannelHost::MessageFilter::IsLost() const {
532 AutoLock lock(lock_); 543 AutoLock lock(lock_);
533 return lost_; 544 return lost_;
534 } 545 }
535 546
536 } // namespace content 547 } // namespace content
OLDNEW
« no previous file with comments | « content/common/gpu/client/gpu_channel_host.h ('k') | content/common/gpu/gpu_command_buffer_stub.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698