SurfaceFlinger: Don't handle effects if a buffer is available
Currently we do not support drawing effects and buffers in the
same layer. Provide priority to drawing the buffer and then try
and handle both as a follow up.
Test: can add widgets to launcher
Test: go/wm-smoke
Bug: 245052266
Change-Id: I4399e954b6116fd8e5ee618c20fb3c604b657e04
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 108047e..47bd91e 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -769,7 +769,7 @@
// Record the name of the layer for debugging further down the stack.
layerSettings.name = getName();
- if (hasEffect()) {
+ if (hasEffect() && !hasBufferOrSidebandStream()) {
prepareEffectsClientComposition(layerSettings, targetSettings);
return layerSettings;
}