summaryrefslogtreecommitdiffstats
path: root/cc/raster
diff options
context:
space:
mode:
authorreveman <reveman@chromium.org>2015-08-25 12:25:40 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-25 19:26:17 +0000
commit5b19e03ec9016cbfa7272b9c998babd3e520d596 (patch)
tree93780ccdc872e6799710320639a57c361144092b /cc/raster
parent22ea9b26dc25d0704c5cdf851f63fbcf39698046 (diff)
downloadchromium_src-5b19e03ec9016cbfa7272b9c998babd3e520d596.zip
chromium_src-5b19e03ec9016cbfa7272b9c998babd3e520d596.tar.gz
chromium_src-5b19e03ec9016cbfa7272b9c998babd3e520d596.tar.bz2
cc: Fix support for RGBA4444 texture format and one-copy.
BUG=524129 TEST=chrome --enable-rgba-4444-textures CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1308533003 Cr-Commit-Position: refs/heads/master@{#345404}
Diffstat (limited to 'cc/raster')
-rw-r--r--cc/raster/one_copy_tile_task_worker_pool.cc19
1 files changed, 11 insertions, 8 deletions
diff --git a/cc/raster/one_copy_tile_task_worker_pool.cc b/cc/raster/one_copy_tile_task_worker_pool.cc
index 9874e0f..169fc36 100644
--- a/cc/raster/one_copy_tile_task_worker_pool.cc
+++ b/cc/raster/one_copy_tile_task_worker_pool.cc
@@ -376,7 +376,8 @@ void OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread(
resource_provider_->gpu_memory_buffer_manager()
->AllocateGpuMemoryBuffer(
staging_buffer->size,
- BufferFormat(resource_provider_->best_texture_format()),
+ BufferFormat(
+ resource_provider_->memory_efficient_texture_format()),
use_persistent_gpu_memory_buffers_
? gfx::BufferUsage::PERSISTENT_MAP
: gfx::BufferUsage::MAP);
@@ -405,9 +406,9 @@ void OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread(
DCHECK(!playback_rect.IsEmpty())
<< "Why are we rastering a tile that's not dirty?";
TileTaskWorkerPool::PlaybackToMemory(
- data, resource_provider_->best_texture_format(), staging_buffer->size,
- static_cast<size_t>(stride), raster_source, raster_full_rect,
- playback_rect, scale, include_images);
+ data, resource_provider_->memory_efficient_texture_format(),
+ staging_buffer->size, static_cast<size_t>(stride), raster_source,
+ raster_full_rect, playback_rect, scale, include_images);
staging_buffer->gpu_memory_buffer->Unmap();
staging_buffer->content_id = new_content_id;
}
@@ -424,7 +425,7 @@ void OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread(
DCHECK(gl);
unsigned image_target = resource_provider_->GetImageTextureTarget(
- resource_provider_->best_texture_format());
+ resource_provider_->memory_efficient_texture_format());
// Create and bind staging texture.
if (!staging_buffer->texture_id) {
@@ -444,7 +445,8 @@ void OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread(
staging_buffer->image_id = gl->CreateImageCHROMIUM(
staging_buffer->gpu_memory_buffer->AsClientBuffer(),
staging_buffer->size.width(), staging_buffer->size.height(),
- GLInternalFormat(resource_provider_->best_texture_format()));
+ GLInternalFormat(
+ resource_provider_->memory_efficient_texture_format()));
gl->BindTexImage2DCHROMIUM(image_target, staging_buffer->image_id);
}
} else {
@@ -471,7 +473,7 @@ void OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread(
}
int bytes_per_row =
- (BitsPerPixel(resource_provider_->best_texture_format()) *
+ (BitsPerPixel(resource_provider_->memory_efficient_texture_format()) *
resource->size().width()) /
8;
int chunk_size_in_rows =
@@ -525,7 +527,8 @@ bool OneCopyTileTaskWorkerPool::OnMemoryDump(
base::AutoLock lock(lock_);
for (const auto& buffer : buffers_) {
- buffer->OnMemoryDump(pmd, resource_provider_->best_texture_format(),
+ buffer->OnMemoryDump(pmd,
+ resource_provider_->memory_efficient_texture_format(),
std::find(free_buffers_.begin(), free_buffers_.end(),
buffer) != free_buffers_.end());
}