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

Unified Diff: content/common/gpu/gpu_command_buffer_stub.cc

Issue 1308913004: GPU Channel's now maintain a global order number for each processed IPC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated command buffer stub to use 32 bit order numbers Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/gpu_command_buffer_stub.cc
diff --git a/content/common/gpu/gpu_command_buffer_stub.cc b/content/common/gpu/gpu_command_buffer_stub.cc
index 70f91c81697513e256c55ca1c9cefc79665f387b..ecac87b755419a9468689dd862697d1e64020da6 100644
--- a/content/common/gpu/gpu_command_buffer_stub.cc
+++ b/content/common/gpu/gpu_command_buffer_stub.cc
@@ -199,7 +199,7 @@ GpuCommandBufferStub::GpuCommandBufferStub(
watchdog_(watchdog),
sync_point_wait_count_(0),
delayed_work_scheduled_(false),
- previous_messages_processed_(0),
+ previous_processed_num_(0),
active_url_(active_url),
total_gpu_memory_(0) {
active_url_hash_ = base::Hash(active_url.possibly_invalid_spec());
@@ -341,11 +341,11 @@ void GpuCommandBufferStub::PollWork() {
return;
if (scheduler_) {
- uint64 current_messages_processed =
- channel()->gpu_channel_manager()->MessagesProcessed();
+ const uint32_t current_processed_num =
+ channel()->gpu_channel_manager()->ProcessedOrderNumber();
// We're idle when no messages were processed or scheduled.
bool is_idle =
- (previous_messages_processed_ == current_messages_processed) &&
+ (previous_processed_num_ == current_processed_num) &&
!channel()->gpu_channel_manager()->HandleMessagesScheduled();
if (!is_idle && !last_idle_time_.is_null()) {
base::TimeDelta time_since_idle =
@@ -387,8 +387,9 @@ void GpuCommandBufferStub::ScheduleDelayedWork(int64 delay) {
// Idle when no messages are processed between now and when
// PollWork is called.
- previous_messages_processed_ =
- channel()->gpu_channel_manager()->MessagesProcessed();
+
+ previous_processed_num_ =
+ channel()->gpu_channel_manager()->ProcessedOrderNumber();
if (last_idle_time_.is_null())
last_idle_time_ = base::TimeTicks::Now();
« content/common/gpu/gpu_channel_manager.cc ('K') | « content/common/gpu/gpu_command_buffer_stub.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698