Merge "surfaceflinger: discard stale commands" into oc-dev
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp
index 5eafb2c..a07726a 100644
--- a/libs/gui/Android.bp
+++ b/libs/gui/Android.bp
@@ -57,7 +57,7 @@
         brillo: {
             cflags: ["-DHAVE_NO_SURFACE_FLINGER"],
         },
-        debuggable: {
+        eng: {
             cppflags: [
                 "-UDEBUG_ONLY_CODE",
                 "-DDEBUG_ONLY_CODE=1",
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 8c28fae..ac2dde2 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -460,7 +460,8 @@
 
     // 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<android::Fence> outPresentFence;
         uint32_t state = UINT32_MAX;
         error = hwcDisplay->presentOrValidate(&numTypes, &numRequests, &outPresentFence , &state);