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;
     }