summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/SurfaceFlinger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 47ae4dec6e..23e33d197b 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -3519,14 +3519,18 @@ void SurfaceFlinger::processDisplayHotplugEventsLocked() {
updateInternalDisplaysPresentationMode();
}
}
-
+ uint32_t hwcDisplayId = static_cast<uint32_t>(event.hwcDisplayId);
+ bool isConnected = (event.connection == hal::Connection::CONNECTED);
if (isDisplayExtnEnabled() && isInternalDisplay) {
- uint32_t hwcDisplayId = static_cast<uint32_t>(event.hwcDisplayId);
- bool isConnected = (event.connection == hal::Connection::CONNECTED);
auto activeConfigId = getHwComposer().getActiveMode(displayId);
LOG_ALWAYS_FATAL_IF(!activeConfigId, "HWC returned no active config");
updateDisplayExtension(hwcDisplayId, *activeConfigId, isConnected);
}
+#if defined(QTI_UNIFIED_DRAW) && defined(UNIFIED_DRAW_EXT)
+ if (mDisplayExtnIntf && !isConnected && !isInternalDisplay) {
+ mDisplayExtnIntf->EndUnifiedDraw(hwcDisplayId);
+ }
+#endif
processDisplayChangesLocked();
}