intel / IA-Hardware-Composer

35 stars 81 forks source link

Force commit when surface damage for layer is 0000 #608

Closed Shao-Feng closed 5 years ago

Shao-Feng commented 5 years ago

The behavior of SF is changed. the empty of damage array are not sent for sleeping(s3). Add a workaround to avoid flicking

Change-Id: I4c38ebe570be5ffe2c7dc206345d75d95ea45823 Tests: Work well on Android Q Tracked-On: https://jira.devtools.intel.com/browse/OAM-83039 Signed-off-by: Shaofeng Tang shaofeng.tang@intel.com

Shao-Feng commented 5 years ago

Here is the commit in SF for changing SurfaceDamage logic commit 8366f563a621981be0a83b675cbbc714c6d98cd1 Author: Yichi Chen yichichen@google.com Date: Mon Mar 25 19:44:06 2019 +0800

HWC2: Optimize execution by caching all HWC2 calls in setPerFrameData

To avoid redundant HWC2 calls into hwcomposer service, we cache all HWC2
calls in BufferLayer::setPerFrameData by having visible region, damage
region and layer buffers cached in HWC2::Layer.

Bug: 119414178
Test: Display function test on F2.
Test: b/129317072 Display function tests on M1/S1, M2/S2, B1/C1, B4/S4,
      and C2/F2.
Change-Id: I1679e755ac55a459c93b42b9f8225f0c270228e6 
Shao-Feng commented 5 years ago

Not only SurfaceDamage, it cache all HWC2 calls in setPerFrameData

Shao-Feng commented 5 years ago

This issue is fixed in AOSP. this one is not needed