New issue
Advanced search Search tips

Issue 893700 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocking:
issue 732555



Sign in to add a comment

GLOutputSurface::GetFramebufferCopyTextureFormat() never returns RBGA

Project Member Reported by kylec...@chromium.org, Oct 9

Issue description

It should check ContextCreationAttributes and return RBGA instead of RGB if alpha_size > 0 to match the implementation in content/browser/.
 
Hm, I thought this would make a pixel difference in our pixel tests. It did when I changed our pixel tests to use a more realistic framebuffer in the past. I wonder if that regressed too?

>    This is demonstrated by the backdrop filter layout tests once they
>    use a cc::Display for doing GL drawing, instead of the current method
>    with a MailboxOutputSurface, which happens to provide an RGBA
>    framebuffer.

https://codereview.chromium.org/2089753003

If the pixel tests are using InProcessContextProvider then it has an equivalent implementation already [1]. I think only Android would have an alpha channel with VizProcessContextProvider?

[1] https://cs.chromium.org/chromium/src/ui/compositor/test/in_process_context_provider.cc?l=194&rcl=014d10f356967fa17ef7edc0947a703abc611fc7
Oh.. I thought InProcess had been renamed to VizProcessContextProvider. Yeah and android doesn't run our pixel tests.
There was two different InProcessCommandBuffers at one point, one for viz and one for tests. I renamed the viz one because it was super confusing.
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dbc925c5f7f8aef6a11f072bc10331c427625a4a

commit dbc925c5f7f8aef6a11f072bc10331c427625a4a
Author: kylechar <kylechar@chromium.org>
Date: Wed Oct 10 01:06:56 2018

Fix GLOutputSurface::GetFramebufferCopyTextureFormat().

The implementation needs to check if there is an alpha channel and
return RGBA instead of RGB. This matches the current implementation in
GpuBrowserCompositorOutputSurface and AndroidOutputSurface.

Bug:  893700 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: Icebee5be36720565f989a03460aa078c50668dc6
Reviewed-on: https://chromium-review.googlesource.com/c/1271517
Reviewed-by: Eric Karl <ericrk@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598159}
[modify] https://crrev.com/dbc925c5f7f8aef6a11f072bc10331c427625a4a/components/viz/service/display_embedder/gl_output_surface.cc
[modify] https://crrev.com/dbc925c5f7f8aef6a11f072bc10331c427625a4a/components/viz/service/display_embedder/viz_process_context_provider.cc
[modify] https://crrev.com/dbc925c5f7f8aef6a11f072bc10331c427625a4a/components/viz/service/display_embedder/viz_process_context_provider.h

Status: Fixed (was: Started)

Sign in to add a comment