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

Unified Diff: cc/resources/tile_manager.h

Issue 733773005: cc: GPU rasterize tiles synchronously in PrepareToDraw (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resources/tile.h ('k') | cc/resources/tile_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/tile_manager.h
diff --git a/cc/resources/tile_manager.h b/cc/resources/tile_manager.h
index e94fb7caf1040ddd05cbb83b593fdae85c069ba3..c830e41d989a90aa76f5860cb7ec6f9c4b922ba0 100644
--- a/cc/resources/tile_manager.h
+++ b/cc/resources/tile_manager.h
@@ -18,6 +18,7 @@
#include "cc/base/unique_notifier.h"
#include "cc/debug/rendering_stats_instrumentation.h"
#include "cc/resources/eviction_tile_priority_queue.h"
+#include "cc/resources/gpu_rasterizer.h"
#include "cc/resources/managed_tile_state.h"
#include "cc/resources/memory_history.h"
#include "cc/resources/raster_source.h"
@@ -102,10 +103,12 @@ class CC_EXPORT TileManager : public RasterizerClient,
base::SequencedTaskRunner* task_runner,
ResourcePool* resource_pool,
Rasterizer* rasterizer,
+ GpuRasterizer* gpu_rasterizer,
RenderingStatsInstrumentation* rendering_stats_instrumentation,
size_t scheduled_raster_task_limit);
~TileManager() override;
+ void RasterizeTiles(const GlobalStateThatImpactsTilePriority& state);
void ManageTiles(const GlobalStateThatImpactsTilePriority& state);
void UpdateVisibleTiles();
@@ -162,11 +165,16 @@ class CC_EXPORT TileManager : public RasterizerClient,
return tiles;
}
+ void CompleteRasterTask(Tile::Id tile,
+ scoped_ptr<ScopedResource> resource,
+ const RasterSource::SolidColorAnalysis& analysis);
+
protected:
TileManager(TileManagerClient* client,
const scoped_refptr<base::SequencedTaskRunner>& task_runner,
ResourcePool* resource_pool,
Rasterizer* rasterizer,
+ GpuRasterizer* gpu_rasterizer,
RenderingStatsInstrumentation* rendering_stats_instrumentation,
size_t scheduled_raster_task_limit);
@@ -188,7 +196,8 @@ class CC_EXPORT TileManager : public RasterizerClient,
virtual void ScheduleTasks(
const TileVector& tiles_that_need_to_be_rasterized);
- void AssignGpuMemoryToTiles(TileVector* tiles_that_need_to_be_rasterized);
+ void AssignGpuMemoryToTiles(TileVector* tiles_that_need_to_be_rasterized,
+ size_t scheduled_raser_task_limit);
private:
class MemoryUsage {
@@ -242,6 +251,7 @@ class CC_EXPORT TileManager : public RasterizerClient,
scoped_refptr<base::SequencedTaskRunner> task_runner_;
ResourcePool* resource_pool_;
Rasterizer* rasterizer_;
+ GpuRasterizer* gpu_rasterizer_;
GlobalStateThatImpactsTilePriority global_state_;
const size_t scheduled_raster_task_limit_;
« no previous file with comments | « cc/resources/tile.h ('k') | cc/resources/tile_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698