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

Unified Diff: cc/output/gl_renderer.cc

Issue 2674493003: Add compositor support for half-float RGBA buffers and textures (Closed)
Patch Set: Created 3 years, 11 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
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);

Powered by Google App Engine
This is Rietveld 408576698