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

Unified Diff: cc/raster/zero_copy_tile_task_worker_pool.cc

Issue 1351283003: Allow task pools to reason about transparency. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make StagingBuffer constructor non-explicit Created 5 years, 3 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 | « cc/raster/zero_copy_tile_task_worker_pool.h ('k') | cc/resources/resource_provider.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/raster/zero_copy_tile_task_worker_pool.cc
diff --git a/cc/raster/zero_copy_tile_task_worker_pool.cc b/cc/raster/zero_copy_tile_task_worker_pool.cc
index 2e3dca1407f3358802bbd612554bf5f22ea46c4d..0a6e80e7d1c0880f7476c5a3b5f384a6f4981b8c 100644
--- a/cc/raster/zero_copy_tile_task_worker_pool.cc
+++ b/cc/raster/zero_copy_tile_task_worker_pool.cc
@@ -65,21 +65,24 @@ class RasterBufferImpl : public RasterBuffer {
scoped_ptr<TileTaskWorkerPool> ZeroCopyTileTaskWorkerPool::Create(
base::SequencedTaskRunner* task_runner,
TaskGraphRunner* task_graph_runner,
- ResourceProvider* resource_provider) {
+ ResourceProvider* resource_provider,
+ bool use_rgba_4444_texture_format) {
return make_scoped_ptr<TileTaskWorkerPool>(new ZeroCopyTileTaskWorkerPool(
- task_runner, task_graph_runner, resource_provider));
+ task_runner, task_graph_runner, resource_provider,
+ use_rgba_4444_texture_format));
}
ZeroCopyTileTaskWorkerPool::ZeroCopyTileTaskWorkerPool(
base::SequencedTaskRunner* task_runner,
TaskGraphRunner* task_graph_runner,
- ResourceProvider* resource_provider)
+ ResourceProvider* resource_provider,
+ bool use_rgba_4444_texture_format)
: task_runner_(task_runner),
task_graph_runner_(task_graph_runner),
namespace_token_(task_graph_runner->GetNamespaceToken()),
resource_provider_(resource_provider),
- task_set_finished_weak_ptr_factory_(this) {
-}
+ use_rgba_4444_texture_format_(use_rgba_4444_texture_format),
+ task_set_finished_weak_ptr_factory_(this) {}
ZeroCopyTileTaskWorkerPool::~ZeroCopyTileTaskWorkerPool() {
}
@@ -179,12 +182,17 @@ void ZeroCopyTileTaskWorkerPool::CheckForCompletedTasks() {
completed_tasks_.clear();
}
-ResourceFormat ZeroCopyTileTaskWorkerPool::GetResourceFormat() const {
- return resource_provider_->memory_efficient_texture_format();
+ResourceFormat ZeroCopyTileTaskWorkerPool::GetResourceFormat(
+ bool must_support_alpha) const {
+ return use_rgba_4444_texture_format_
+ ? RGBA_4444
+ : resource_provider_->best_texture_format();
}
-bool ZeroCopyTileTaskWorkerPool::GetResourceRequiresSwizzle() const {
- return !PlatformColor::SameComponentOrder(GetResourceFormat());
+bool ZeroCopyTileTaskWorkerPool::GetResourceRequiresSwizzle(
+ bool must_support_alpha) const {
+ return !PlatformColor::SameComponentOrder(
+ GetResourceFormat(must_support_alpha));
}
scoped_ptr<RasterBuffer> ZeroCopyTileTaskWorkerPool::AcquireBufferForRaster(
« no previous file with comments | « cc/raster/zero_copy_tile_task_worker_pool.h ('k') | cc/resources/resource_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698