New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 820244 link

Starred by 1 user

Issue metadata

Status: Duplicate
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: ----
Type: ----



Sign in to add a comment

Support RGBA formats on the primary plane

Project Member Reported by dnicoara@chromium.org, Mar 8 2018

Issue description

Some platforms prefer RGBA (or BGRA) formats for primary plane for scanout. Currently RGBX is used by default throughout Ozone (and content). Furthermore the supported formats are currently hard coded.

We should be able to:
1) Have support in content to use RGBA buffers,
2) Enhance the DRM Ozone platform to read supported formats and expose them via ClientNativePixmapFactory (currently hardcoded values),
3) Have a way to express preference for the default format for primary plane. (Currently hardcoded in display::DisplaySnapshot::PrimaryFormat())
 
Components: Internals>GPU
Is there any device that doesn't support {RGB,BGR}A for the primary plane?

On Rockchip and Intel it doesn't actually make sense to differentiate between an "overlay" plane and a primary plane if not for legacy reason, they're all the same, so I'd expect all of them to support alpha.
Cc: hoegsberg@chromium.org
Some of the intel devices don't. Or at the very least modetest doesn't report support for it. (I checked on samus)

+1 I don't want to differentiate between the different planes either. In fact the few devices I've tested on the primary plane and overlays have the same capabilities. This is more about exposing the capabilities and having support in content to use formats with alpha rather than the opaque formats.
Supporting BGRA_8888 is a bit problematic btw, since we require the GL context to support GL_BGRA_EXT, which isn't generally try for desktop GL. For example, see this unittest failure:

https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.linux%2Flinux_chromium_asan_rel_ng%2F557660%2F%2B%2Frecipes%2Fsteps%2Fviz_unittests__with_patch_%2F0%2Fstdout

BufferQueueStandaloneTest.CheckBoundFramebuffer fails because test_capabilities_.texture_format_bgra8888 is false.

Also until we land the patch to eliminate the internalformat parameter to CreateImage, we should really add a internalformat version of display::DisplaySnapshot::PrimaryFormat().
Mergedinto: 789288
Status: Duplicate (was: Started)

Sign in to add a comment