summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRamakant Singh <ramaka@codeaurora.org>2012-08-13 13:28:24 +0530
committerSteve Kondik <shade@chemlab.org>2012-08-27 13:29:13 -0700
commit0c1e6f99c02a6b0e7c01582c636a75711b633f3b (patch)
tree042d5690b5d9735212f8983d7d43680a82f5f65b
parent7523410a5d3721e84fe96464ff2cf61482137c58 (diff)
downloadandroid_frameworks_native-0c1e6f99c02a6b0e7c01582c636a75711b633f3b.tar.gz
android_frameworks_native-0c1e6f99c02a6b0e7c01582c636a75711b633f3b.tar.bz2
android_frameworks_native-0c1e6f99c02a6b0e7c01582c636a75711b633f3b.zip
SF::Call qcomuiClearRegion() method for mdp composition
Change-Id: I2c36aeea1a71312e1fbd5b56a14c8c183719a8ba CRs-Fixed: 383115
-rw-r--r--services/surfaceflinger/Android.mk1
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp12
2 files changed, 13 insertions, 0 deletions
diff --git a/services/surfaceflinger/Android.mk b/services/surfaceflinger/Android.mk
index 4bd4374d6..bb49beafa 100644
--- a/services/surfaceflinger/Android.mk
+++ b/services/surfaceflinger/Android.mk
@@ -34,6 +34,7 @@ endif
ifeq ($(BOARD_USES_QCOM_HARDWARE), true)
LOCAL_C_INCLUDES += hardware/qcom/display/libgralloc
LOCAL_C_INCLUDES += hardware/qcom/display/libqdutils
+ LOCAL_SHARED_LIBRARIES += libqdutils
LOCAL_CFLAGS += -DQCOMHW
endif
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index c6a35d80a..4094ba328 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -68,6 +68,10 @@
#include "SecTVOutService.h"
#endif
+#ifdef QCOMHW
+#include <clear_regions.h>
+#endif
+
#define EGL_VERSION_HW_ANDROID 0x3143
#define DISPLAY_COUNT 1
@@ -1008,6 +1012,14 @@ void SurfaceFlinger::composeSurfaces(const Region& dirty)
layer->draw(clip);
}
}
+ } else if (cur && !mWormholeRegion.isEmpty()) {
+ const Region region(mWormholeRegion.intersect(mDirtyRegion));
+ if (!region.isEmpty()) {
+#ifdef QCOMHW
+ if (0 != qdutils::qcomuiClearRegion(region, hw.getEGLDisplay()))
+#endif
+ drawWormhole();
+ }
}
}