aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2021-04-30 21:42:23 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-04-30 21:42:23 +0000
commit1b10abf3c966962b3faa31e956e75cd09d6092d2 (patch)
tree40597bd7729e3e510098e05e848a9884cdb7158f
parent1fecb9d14cef924bee613552dcdf6d7377a527f1 (diff)
parent3d8f453d5d75c0c26af7a914d2b03f90b6def690 (diff)
downloadgoldfish-opengl-1b10abf3c966962b3faa31e956e75cd09d6092d2.tar.gz
Merge "Handle no-op composition"
-rw-r--r--system/hwc2/GuestComposer.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/system/hwc2/GuestComposer.cpp b/system/hwc2/GuestComposer.cpp
index 7fd2214c..33ad32e5 100644
--- a/system/hwc2/GuestComposer.cpp
+++ b/system/hwc2/GuestComposer.cpp
@@ -769,13 +769,17 @@ HWC2::Error GuestComposer::presentDisplay(Display* display,
const std::vector<Layer*>& layers = display->getOrderedLayers();
+ const bool noOpComposition = layers.empty();
const bool allLayersClientComposed = std::all_of(
layers.begin(), //
layers.end(), //
[](const Layer* layer) {
return layer->getCompositionType() == HWC2::Composition::Client;
});
- if (allLayersClientComposed) {
+
+ if (noOpComposition) {
+ ALOGW("%s: display:%" PRIu64 " empty composition", __FUNCTION__, displayId);
+ } else if (allLayersClientComposed) {
auto clientTargetBufferOpt =
mGralloc.Import(display->waitAndGetClientTargetBuffer());
if (!clientTargetBufferOpt) {