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

Unified Diff: cc/raster/one_copy_tile_task_worker_pool.h

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/gpu_tile_task_worker_pool.cc ('k') | cc/raster/one_copy_tile_task_worker_pool.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/raster/one_copy_tile_task_worker_pool.h
diff --git a/cc/raster/one_copy_tile_task_worker_pool.h b/cc/raster/one_copy_tile_task_worker_pool.h
index 783d103c850ac1f44c008591ee8a7bbc44b50c65..3b02bae062a544a1fa99e7e1fd3c91c4aa7da21b 100644
--- a/cc/raster/one_copy_tile_task_worker_pool.h
+++ b/cc/raster/one_copy_tile_task_worker_pool.h
@@ -49,7 +49,8 @@ class CC_EXPORT OneCopyTileTaskWorkerPool
ResourceProvider* resource_provider,
int max_copy_texture_chromium_size,
bool use_persistent_gpu_memory_buffers,
- int max_staging_buffer_usage_in_bytes);
+ int max_staging_buffer_usage_in_bytes,
+ bool use_rgba_4444_texture_format);
// Overridden from TileTaskWorkerPool:
TileTaskRunner* AsTileTaskRunner() override;
@@ -59,8 +60,8 @@ class CC_EXPORT OneCopyTileTaskWorkerPool
void Shutdown() override;
void ScheduleTasks(TileTaskQueue* queue) override;
void CheckForCompletedTasks() override;
- ResourceFormat GetResourceFormat() const override;
- bool GetResourceRequiresSwizzle() const override;
+ ResourceFormat GetResourceFormat(bool must_support_alpha) const override;
+ bool GetResourceRequiresSwizzle(bool must_support_alpha) const override;
// Overridden from TileTaskClient:
scoped_ptr<RasterBuffer> AcquireBufferForRaster(
@@ -91,11 +92,12 @@ class CC_EXPORT OneCopyTileTaskWorkerPool
ResourceProvider* resource_provider,
int max_copy_texture_chromium_size,
bool use_persistent_gpu_memory_buffers,
- int max_staging_buffer_usage_in_bytes);
+ int max_staging_buffer_usage_in_bytes,
+ bool use_rgba_4444_texture_format);
private:
struct StagingBuffer {
- explicit StagingBuffer(const gfx::Size& size);
+ StagingBuffer(const gfx::Size& size, ResourceFormat format);
~StagingBuffer();
void DestroyGLResources(gpu::gles2::GLES2Interface* gl);
@@ -104,6 +106,7 @@ class CC_EXPORT OneCopyTileTaskWorkerPool
bool is_free) const;
const gfx::Size size;
+ const ResourceFormat format;
scoped_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer;
base::TimeTicks last_usage;
unsigned texture_id;
@@ -112,7 +115,8 @@ class CC_EXPORT OneCopyTileTaskWorkerPool
uint64_t content_id;
};
- void AddStagingBuffer(const StagingBuffer* staging_buffer);
+ void AddStagingBuffer(const StagingBuffer* staging_buffer,
+ ResourceFormat format);
void RemoveStagingBuffer(const StagingBuffer* staging_buffer);
void MarkStagingBufferAsFree(const StagingBuffer* staging_buffer);
void MarkStagingBufferAsBusy(const StagingBuffer* staging_buffer);
@@ -153,6 +157,7 @@ class CC_EXPORT OneCopyTileTaskWorkerPool
StagingBufferDeque busy_buffers_;
int bytes_scheduled_since_last_flush_;
const int max_staging_buffer_usage_in_bytes_;
+ bool use_rgba_4444_texture_format_;
int staging_buffer_usage_in_bytes_;
int free_staging_buffer_usage_in_bytes_;
const base::TimeDelta staging_buffer_expiration_delay_;
« no previous file with comments | « cc/raster/gpu_tile_task_worker_pool.cc ('k') | cc/raster/one_copy_tile_task_worker_pool.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698