Update physicalDisplay when rendering CachedSet to include offset.
Fixes the following scenario: imagine a layer stack containing: 1. A cached set extending from (0, 200) x (1080 x 3080), and 2. An animating status bar extending from (0, 0) x (1080, 200) is presented onto a display that is 1080 pixels wide and 3080 pixels tall. Currently when rendering a cached set, the clip is set to the layer stack content, and the physicalDisplay is set to the buffer bounds. But RenderEngine's interface works by mapping from the clip rectangle to the physicalDisplay rectangle. But, since the cached set is not fullscreen, that means that the cached set's top left corner is rendered at (0, 200), which is not correct. Instead, the physicalDisplay rectangle needs to have the same dimensions as the framebuffer content rectangle so that there's no unintended scaling, but the rectangle must be offset by the bounding box of the cached set so that the content correctly fills the output buffer. Bug: 185278446 Test: lockscreen doesn't flicker Change-Id: I480a5661e93178c050538f397e630c25fea5a2da
Loading
Please register or sign in to comment