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

Unified Diff: cc/tiles/tile_manager.h

Issue 2017453004: cc: Send notification of tasks completion directly without scheduling. Base URL: https://chromium.googlesource.com/chromium/src.git@worker_origin_split_4
Patch Set: fixed implementation Created 4 years, 7 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
« no previous file with comments | « no previous file | cc/tiles/tile_manager.cc » ('j') | cc/tiles/tile_manager.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/tiles/tile_manager.h
diff --git a/cc/tiles/tile_manager.h b/cc/tiles/tile_manager.h
index b522423415fd50d29a53ec3c5adb95b15f2a11b6..0b6530f28c5463a8698bdb47390c93928f082a3b 100644
--- a/cc/tiles/tile_manager.h
+++ b/cc/tiles/tile_manager.h
@@ -16,7 +16,6 @@
#include "base/macros.h"
#include "base/values.h"
-#include "cc/base/unique_notifier.h"
#include "cc/playback/raster_source.h"
#include "cc/raster/raster_buffer_provider.h"
#include "cc/resources/memory_history.h"
@@ -268,19 +267,23 @@ class CC_EXPORT TileManager {
bool TilePriorityViolatesMemoryPolicy(const TilePriority& priority);
bool AreRequiredTilesReadyToDraw(RasterTilePriorityQueue::Type type) const;
void CheckIfMoreTilesNeedToBePrepared();
- void CheckAndIssueSignals();
+ void CheckAndNotifyReadyToActivate();
+ void CheckAndNotifyReadyToDraw();
+ void CheckAndNotifyAllTileTasksCompleted();
bool MarkTilesOutOfMemory(
std::unique_ptr<RasterTilePriorityQueue> queue) const;
ResourceFormat DetermineResourceFormat(const Tile* tile) const;
bool DetermineResourceRequiresSwizzle(const Tile* tile) const;
- void DidFinishRunningTileTasksRequiredForActivation();
- void DidFinishRunningTileTasksRequiredForDraw();
- void DidFinishRunningAllTileTasks();
+ void DidFinishRunningTileTasksRequiredForActivation(
+ uint64_t source_prepare_tiles_id);
+ void DidFinishRunningTileTasksRequiredForDraw(
+ uint64_t source_prepare_tiles_id);
+ void DidFinishRunningAllTileTasks(uint64_t source_prepare_tiles_id);
scoped_refptr<TileTask> CreateTaskSetFinishedTask(
- void (TileManager::*callback)());
+ void (TileManager::*callback)(uint64_t source_prepare_tiles_id));
std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
ScheduledTasksStateAsValue() const;
@@ -316,8 +319,6 @@ class CC_EXPORT TileManager {
scoped_refptr<TileTask> required_for_draw_done_task_;
scoped_refptr<TileTask> all_done_task_;
- UniqueNotifier more_tiles_need_prepare_check_notifier_;
-
struct Signals {
Signals();
@@ -331,8 +332,6 @@ class CC_EXPORT TileManager {
bool did_notify_all_tile_tasks_completed;
} signals_;
prashant.n 2016/05/30 14:38:27 1. From above structure ready_to_activate, ready_t
- UniqueNotifier signals_check_notifier_;
-
bool has_scheduled_tile_tasks_;
uint64_t prepare_tiles_count_;
« no previous file with comments | « no previous file | cc/tiles/tile_manager.cc » ('j') | cc/tiles/tile_manager.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698