summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/EventControlThread.cpp
diff options
context:
space:
mode:
author Robert Carr <racarr@google.com> 2017-05-18 14:02:49 -0700
committer Robert Carr <racarr@google.com> 2017-05-18 15:21:46 -0700
commit7bf247e2db180da661b18084d50e0b389686fc0c (patch)
tree2a37f827807592f430d50be7f8b916b8fcc14e0b /services/surfaceflinger/EventControlThread.cpp
parent3851225fddb6f1755a8034aa7a9f9ae7397b56a9 (diff)
SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes.
The same sort of thing we had with setPosition...not sure why I didn't realize we would need the fixes here too! In particular we need to ensure the following scenarios work: 1. Additional calls to set(Final)Crop while in the setGeometryAppliesWithResize state are eventually applied. 2. Additional calls to set(Final)Crop while in the setGeometryAppliesWithResize state are not immediately applied. 3. In LayerRejector.cpp we have to be sure we are not just latching a buffer at the old size, which we still allow. This is the correct time to latch the transparentRegion as it is content dependent, but doesn't represent a size changing. The difference between this and the original CL which was reverted has to do with point 3. The original CL tried to solve point 3 by moving the latching logic from the LayerRejecter in to Layer::doTransaction. However, in general doTransaction will not be called in between Latching the buffer and drawing the frame, so this introduced errors. The new test "FinalCropLatchingBufferOldSize" encapsulates this. Bug: 37621737 Bug: 37531386 Test: Included in Transaction_test.cpp Change-Id: I14bd09d01ac6b85895caa1b707d6fa7dac962074
Diffstat (limited to 'services/surfaceflinger/EventControlThread.cpp')
0 files changed, 0 insertions, 0 deletions