summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorvmiura <vmiura@chromium.org>2015-02-03 14:19:57 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-03 22:21:02 +0000
commit9084b34a9c65689297314f65c389e063556df88e (patch)
tree36143b9470ded40cd918d173cd30f9a03c30c565 /cc
parentd17dc45807d6041ea9df322a4fd4ecefbfcd1664 (diff)
downloadchromium_src-9084b34a9c65689297314f65c389e063556df88e.zip
chromium_src-9084b34a9c65689297314f65c389e063556df88e.tar.gz
chromium_src-9084b34a9c65689297314f65c389e063556df88e.tar.bz2
Add a command-line flag to enable threaded GPU rasterization.
For now a no-op in the renderer. Enable: --enable-threaded-gpu-rasterization Disable (which takes priority over Enable): --disable-threaded-gpu-rasterization BUG=454500 Review URL: https://codereview.chromium.org/895763002 Cr-Commit-Position: refs/heads/master@{#314418}
Diffstat (limited to 'cc')
-rw-r--r--cc/resources/gpu_rasterizer.cc11
-rw-r--r--cc/resources/gpu_rasterizer.h15
-rw-r--r--cc/resources/rasterizer.h1
-rw-r--r--cc/trees/layer_tree_host_impl.cc3
-rw-r--r--cc/trees/layer_tree_settings.cc1
-rw-r--r--cc/trees/layer_tree_settings.h1
6 files changed, 17 insertions, 15 deletions
diff --git a/cc/resources/gpu_rasterizer.cc b/cc/resources/gpu_rasterizer.cc
index 3fdc8bb..369f12c 100644
--- a/cc/resources/gpu_rasterizer.cc
+++ b/cc/resources/gpu_rasterizer.cc
@@ -31,22 +31,22 @@ scoped_ptr<GpuRasterizer> GpuRasterizer::Create(
ContextProvider* context_provider,
ResourceProvider* resource_provider,
bool use_distance_field_text,
- bool tile_prepare_enabled,
+ bool threaded_gpu_rasterization_enabled,
int msaa_sample_count) {
return make_scoped_ptr<GpuRasterizer>(new GpuRasterizer(
context_provider, resource_provider, use_distance_field_text,
- tile_prepare_enabled, msaa_sample_count));
+ threaded_gpu_rasterization_enabled, msaa_sample_count));
}
GpuRasterizer::GpuRasterizer(ContextProvider* context_provider,
ResourceProvider* resource_provider,
bool use_distance_field_text,
- bool tile_prepare_enabled,
+ bool threaded_gpu_rasterization_enabled,
int msaa_sample_count)
: context_provider_(context_provider),
resource_provider_(resource_provider),
use_distance_field_text_(use_distance_field_text),
- tile_prepare_enabled_(tile_prepare_enabled),
+ threaded_gpu_rasterization_enabled_(threaded_gpu_rasterization_enabled),
msaa_sample_count_(msaa_sample_count) {
DCHECK(context_provider_);
}
@@ -55,8 +55,7 @@ GpuRasterizer::~GpuRasterizer() {
}
PrepareTilesMode GpuRasterizer::GetPrepareTilesMode() {
- return tile_prepare_enabled_ ? PrepareTilesMode::PREPARE_PRIORITIZED_TILES
- : PrepareTilesMode::PREPARE_NONE;
+ return PrepareTilesMode::PREPARE_NONE;
}
void GpuRasterizer::RasterizeTiles(
diff --git a/cc/resources/gpu_rasterizer.h b/cc/resources/gpu_rasterizer.h
index 206b051..79a0596 100644
--- a/cc/resources/gpu_rasterizer.h
+++ b/cc/resources/gpu_rasterizer.h
@@ -22,11 +22,12 @@ class CC_EXPORT GpuRasterizer : public Rasterizer {
public:
~GpuRasterizer() override;
- static scoped_ptr<GpuRasterizer> Create(ContextProvider* context_provider,
- ResourceProvider* resource_provider,
- bool use_distance_field_text,
- bool tile_prepare_enabled,
- int msaa_sample_count);
+ static scoped_ptr<GpuRasterizer> Create(
+ ContextProvider* context_provider,
+ ResourceProvider* resource_provider,
+ bool use_distance_field_text,
+ bool threaded_gpu_rasterization_enabled,
+ int msaa_sample_count);
PrepareTilesMode GetPrepareTilesMode() override;
void RasterizeTiles(
const TileVector& tiles,
@@ -38,7 +39,7 @@ class CC_EXPORT GpuRasterizer : public Rasterizer {
GpuRasterizer(ContextProvider* context_provider,
ResourceProvider* resource_provider,
bool use_distance_filed_text,
- bool tile_prepare_enabled,
+ bool threaded_gpu_rasterization_enabled,
int msaa_sample_count);
using ScopedResourceWriteLocks =
@@ -55,7 +56,7 @@ class CC_EXPORT GpuRasterizer : public Rasterizer {
SkMultiPictureDraw multi_picture_draw_;
bool use_distance_field_text_;
- bool tile_prepare_enabled_;
+ bool threaded_gpu_rasterization_enabled_;
int msaa_sample_count_;
DISALLOW_COPY_AND_ASSIGN(GpuRasterizer);
diff --git a/cc/resources/rasterizer.h b/cc/resources/rasterizer.h
index 95b9ce2..43df0b0 100644
--- a/cc/resources/rasterizer.h
+++ b/cc/resources/rasterizer.h
@@ -16,7 +16,6 @@ class TileManager;
enum class PrepareTilesMode {
RASTERIZE_PRIORITIZED_TILES,
- PREPARE_PRIORITIZED_TILES,
PREPARE_NONE
};
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index c8ee69c..34278c6 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1977,7 +1977,8 @@ scoped_ptr<Rasterizer> LayerTreeHostImpl::CreateRasterizer() {
ContextProvider* context_provider = output_surface_->context_provider();
if (use_gpu_rasterization_ && context_provider) {
return GpuRasterizer::Create(context_provider, resource_provider_.get(),
- settings_.use_distance_field_text, false,
+ settings_.use_distance_field_text,
+ settings_.threaded_gpu_rasterization_enabled,
settings_.gpu_rasterization_msaa_sample_count);
}
return SoftwareRasterizer::Create();
diff --git a/cc/trees/layer_tree_settings.cc b/cc/trees/layer_tree_settings.cc
index d578daf..07dfc29 100644
--- a/cc/trees/layer_tree_settings.cc
+++ b/cc/trees/layer_tree_settings.cc
@@ -30,6 +30,7 @@ LayerTreeSettings::LayerTreeSettings()
gpu_rasterization_enabled(false),
gpu_rasterization_forced(false),
gpu_rasterization_msaa_sample_count(0),
+ threaded_gpu_rasterization_enabled(false),
create_low_res_tiling(false),
scrollbar_animator(NoAnimator),
scrollbar_fade_delay_ms(0),
diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h
index 597a279..5eacdf8 100644
--- a/cc/trees/layer_tree_settings.h
+++ b/cc/trees/layer_tree_settings.h
@@ -36,6 +36,7 @@ class CC_EXPORT LayerTreeSettings {
bool gpu_rasterization_enabled;
bool gpu_rasterization_forced;
int gpu_rasterization_msaa_sample_count;
+ bool threaded_gpu_rasterization_enabled;
bool create_low_res_tiling;
enum ScrollbarAnimator {