cc: Enable non-opaque harware overlays.
This CL enables alpha-blended HW overlays. Additionally, it clears up the way overlay candidates might or might not be considered based on buffer format and alpha blending requested: - An opacity on the quad different than 1 will cause the candidate to always be rejected since we can't modulate the alpha of an overlay plane. - We support only kSrc (no blending) and kSrcOver (blend) blending modes. - For fullscreen overlays we can allow both blending modes as long as the opaque rect is as big as the buffer (ShouldDrawWithBlending() true). An opaque FD will always be used in this case (crrev.com/2743403005). - For non-fullscreen overlays, we can't allow kSrc if the buffer has a format with an alpha channel, since the alpha channel might not be initialized and we don't disable blending when scanning out yet. BUG=695296 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2749783006 Cr-Commit-Position: refs/heads/master@{#457528}
Showing
Please register or sign in to comment