summaryrefslogtreecommitdiff
path: root/libs/gui/DisplayLuts.cpp
diff options
context:
space:
mode:
author Alec Mouri <alecmouri@google.com> 2021-04-26 15:02:16 -0700
committer Alec Mouri <alecmouri@google.com> 2021-04-26 15:17:52 -0700
commit73e09c3a3610ef7c09365a2d87a9cec483a2c172 (patch)
treef6f227dd5171cdb57f99b3ea33c908a98f55f4f6 /libs/gui/DisplayLuts.cpp
parent9d53391338e6f76bcadcefae389d913e68ad05d7 (diff)
ProjectionSpace fixes for caching:
* When feeding back into client composition, feed back the framebuffer projection space instead of a projection space using mBounds as the content rectangle. Otherwise, this tries to project the entire cached set onto the entirety of the display, which is incorrect. Instead, the cached set needs to be projected onto the displayFrame for the overridden layer. * When rendering the cached set and computing the physicalDisplay rectangle, instead of passing in the framebuffer space bounds offset by mBounds, pass in the framebuffer space content offset by mBounds. Otherwise, this breaks simulated secondary displays: simulated secondary displays works by projecting the layer stack onto a rectangle in the middle of surface that is much narrower than the surface bounds. If the framebuffer bounds are used to compute the physicalDisplay rectangle and the cached set covers the entire secondary display, then when offset by mBounds the cached set goes offscreen. The correct rectangle to use is the framebuffer content rectangle. Bug: 185398025 Test: libcompositionengine_test Test: Simulated secondary displays Test: Wallpaper picker doesn't suddenly resize when pulling down the notification shade Change-Id: Ie7119bc42db4887b448673c0ab11fee24db664c5
Diffstat (limited to 'libs/gui/DisplayLuts.cpp')
0 files changed, 0 insertions, 0 deletions