Chromium Code Reviews| Index: cc/raster/gpu_raster_buffer_provider.cc |
| diff --git a/cc/raster/gpu_raster_buffer_provider.cc b/cc/raster/gpu_raster_buffer_provider.cc |
| index 50dc9fc951b1697f41cd1861df41e5cb69af1ede..1cc36f18b36a9cb0d5574c50a3f49c41d46e1367 100644 |
| --- a/cc/raster/gpu_raster_buffer_provider.cc |
| +++ b/cc/raster/gpu_raster_buffer_provider.cc |
| @@ -120,12 +120,14 @@ GpuRasterBufferProvider::GpuRasterBufferProvider( |
| ResourceProvider* resource_provider, |
| bool use_distance_field_text, |
| int gpu_rasterization_msaa_sample_count, |
| + ResourceFormat preferred_tile_format, |
| bool async_worker_context_enabled) |
| : compositor_context_provider_(compositor_context_provider), |
| worker_context_provider_(worker_context_provider), |
| resource_provider_(resource_provider), |
| use_distance_field_text_(use_distance_field_text), |
| msaa_sample_count_(gpu_rasterization_msaa_sample_count), |
| + preferred_tile_format_(preferred_tile_format), |
| async_worker_context_enabled_(async_worker_context_enabled) { |
| DCHECK(compositor_context_provider); |
| DCHECK(worker_context_provider); |
| @@ -175,6 +177,13 @@ void GpuRasterBufferProvider::OrderingBarrier() { |
| ResourceFormat GpuRasterBufferProvider::GetResourceFormat( |
| bool must_support_alpha) const { |
|
ccameron
2017/03/23 22:20:14
It feels wrong that we now have 3 copy-paste insta
ericrk
2017/03/24 01:46:32
I think I'd prefer to keep the base pure virtual.
|
| + if (resource_provider_->IsRenderBufferFormatSupported( |
| + preferred_tile_format_) && |
| + (DoesResourceFormatSupportAlpha(preferred_tile_format_) || |
| + !must_support_alpha)) { |
| + return preferred_tile_format_; |
| + } |
| + |
| return resource_provider_->best_render_buffer_format(); |
| } |