From c6bf49a946d93d4c2f8e693fb974024ba6bbe9c0 Mon Sep 17 00:00:00 2001 From: Fabien Sanglard Date: Thu, 22 Jun 2017 11:35:16 -0700 Subject: Disable skip Validate on client composition SurfaceFlinger should not skip validate when GLComposition is needed. This can happen when SF decides to force GLComposition (like when a screen rotation occurs). Bug: 62906801 Test: Manual Change-Id: I248146eade395a124cb149773287abd88ae36511 (cherry picked from commit 269c2361096cb8a17ea5fedbd20f800cd1b65d05) --- services/surfaceflinger/DisplayHardware/HWComposer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp index 913c43f281..3f953eaa8b 100644 --- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp +++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp @@ -460,7 +460,8 @@ status_t HWComposer::prepare(DisplayDevice& displayDevice) { // First try to skip validate altogether if the HWC supports it. displayData.validateWasSkipped = false; - if (hasCapability(HWC2::Capability::SkipValidate)) { + if (hasCapability(HWC2::Capability::SkipValidate) && + !displayData.hasClientComposition) { sp outPresentFence; uint32_t state = UINT32_MAX; error = hwcDisplay->presentOrValidate(&numTypes, &numRequests, &outPresentFence , &state); -- cgit v1.2.3