Support RGBA formats on the primary plane |
|||
Issue descriptionSome 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())
,
Mar 8 2018
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.
,
Mar 9 2018
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().
,
Mar 9 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by dcasta...@chromium.org
, Mar 8 2018Is 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.