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

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: GPU Channel message queue placed in own class, applied suggestions 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 407ac03b1fbfb92011eb4bb31de74c4a0a855b09..f3898776c2ba49bfda6b39c8e3fa155b5d96b922 100644
--- a/content/common/gpu/gpu_command_buffer_stub.cc
+++ b/content/common/gpu/gpu_command_buffer_stub.cc
@@ -200,7 +200,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());
@@ -342,11 +342,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 =
@@ -388,8 +388,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.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