SF: Use CompositionInfo to program HWComposer
Test: Build and run manually
Merged-Id: I3a4fd676781d0b7db1665430e0d84a6bc9b83f60
Change-Id: I3a4fd676781d0b7db1665430e0d84a6bc9b83f60
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 2c0dec9..8d5c496 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -647,6 +647,7 @@
// set initial conditions (e.g. unblank default device)
initializeDisplays();
+ ALOGV("Displays initialized");
getBE().mRenderEngine->primeCache();
@@ -1971,6 +1972,18 @@
mPreviousColorMatrix = colorMatrix;
+ for (size_t dpy = 0; dpy < mDisplays.size(); dpy++) {
+ sp<const DisplayDevice> displayDevice(mDisplays[dpy]);
+ const auto hwcId = displayDevice->getHwcDisplayId();
+ if (hwcId >= 0) {
+ const Vector<sp<Layer>>& currentLayers(
+ displayDevice->getVisibleLayersSortedByZ());
+ for (auto& layer : currentLayers) {
+ layer->configureHwcLayer(displayDevice);
+ }
+ }
+ }
+
for (size_t displayId = 0; displayId < mDisplays.size(); ++displayId) {
auto& displayDevice = mDisplays[displayId];
if (!displayDevice->isDisplayOn()) {
@@ -2762,6 +2775,7 @@
}
bool hasClientComposition = getBE().mHwc->hasClientComposition(hwcId);
+ ATRACE_INT("hasClientComposition", hasClientComposition);
if (hasClientComposition) {
ALOGV("hasClientComposition");
@@ -4872,7 +4886,6 @@
}; // namespace android
-
#if defined(__gl_h_)
#error "don't include gl/gl.h in this file"
#endif