| Index: cc/output/gl_renderer.cc
|
| diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
|
| index 59bb170c17de233ad7fd41c17ec0818435a0048d..3d94eeba794fd795a122ffbb83ebee4ca6756355 100644
|
| --- a/cc/output/gl_renderer.cc
|
| +++ b/cc/output/gl_renderer.cc
|
| @@ -429,6 +429,14 @@ bool GLRenderer::CanPartialSwap() {
|
| return context_provider->ContextCapabilities().post_sub_buffer;
|
| }
|
|
|
| +ResourceFormat GLRenderer::BackbufferFormat() const {
|
| + if (output_surface_->IsHighBitDepth()) {
|
| + if (resource_provider_->IsResourceFormatSupported(RGBA_F16))
|
| + return RGBA_F16;
|
| + }
|
| + return resource_provider_->best_texture_format();
|
| +}
|
| +
|
| void GLRenderer::DidChangeVisibility() {
|
| if (visible_) {
|
| output_surface_->EnsureBackbuffer();
|
| @@ -907,7 +915,7 @@ std::unique_ptr<ScopedResource> GLRenderer::GetBackdropTexture(
|
| // CopyTexImage2D fails when called on a texture having immutable storage.
|
| device_background_texture->Allocate(
|
| bounding_rect.size(), ResourceProvider::TEXTURE_HINT_DEFAULT,
|
| - resource_provider_->best_texture_format(), frame->device_color_space);
|
| + BackbufferFormat(), frame->device_color_space);
|
| {
|
| ResourceProvider::ScopedWriteLockGL lock(
|
| resource_provider_, device_background_texture->id(), false);
|
|
|