Merge "SF: Support to determine if the non-virtual displays are secure"
diff --git a/libs/gui/BufferQueueConsumer.cpp b/libs/gui/BufferQueueConsumer.cpp
index c51fd53..73de186 100644
--- a/libs/gui/BufferQueueConsumer.cpp
+++ b/libs/gui/BufferQueueConsumer.cpp
@@ -92,7 +92,7 @@
// be discarded based on them.
#ifdef QCOM_BSP
char property[PROPERTY_VALUE_MAX];
- if (property_get("ro.sf.default_app_buffer", property, NULL) > 0) {
+ if (property_get("sf.default.app_buffer_count", property, NULL) > 0) {
if (!mCore->mQueue[0].mIsAutoTimestamp && mCore->mDefaultMaxBufferCount < 3) {
const BufferItem& bufferItem(mCore->mQueue[0]);
nsecs_t desiredPresent = bufferItem.mTimestamp;
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 5d2db47..1f17b5c 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -1222,6 +1222,8 @@
static String8 getFormatStr(PixelFormat format) {
switch (format) {
case PIXEL_FORMAT_RGBA_8888: return String8("RGBA_8888");
+ case PIXEL_FORMAT_RGBA_4444: return String8("RGBA_4444");
+ case PIXEL_FORMAT_RGBA_5551: return String8("RGBA_5551");
case PIXEL_FORMAT_RGBX_8888: return String8("RGBx_8888");
case PIXEL_FORMAT_RGB_888: return String8("RGB_888");
case PIXEL_FORMAT_RGB_565: return String8("RGB_565");
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 8f52fb1..2598d24 100755
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -164,7 +164,7 @@
#ifdef QCOM_BSP
char property[PROPERTY_VALUE_MAX];
- if (property_get("ro.sf.default_app_buffer", property, NULL) > 0) {
+ if (property_get("sf.default.app_buffer_count", property, NULL) > 0) {
mSurfaceFlingerConsumer->setDefaultMaxBufferCount(atoi(property));
}
#endif
@@ -477,7 +477,7 @@
// this gives us only the "orientation" component of the transform
const State& s(getDrawingState());
- if (!isOpaque(s) || s.alpha != 0xFF) {
+ if (!isOpaque(s)) {
layer.setBlending(mPremultipliedAlpha ?
HWC_BLENDING_PREMULT :
HWC_BLENDING_COVERAGE);
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 4a26326..41b8435 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -415,6 +415,12 @@
status_t err;
Mutex::Autolock _l(mStateLock);
+ /* Set the mask bit of the sigset to block the SIGPIPE signal */
+ sigset_t sigMask;
+ sigemptyset (&sigMask);
+ sigaddset(&sigMask, SIGPIPE);
+ sigprocmask(SIG_BLOCK, &sigMask, NULL);
+
// initialize EGL for the default display
mEGLDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
eglInitialize(mEGLDisplay, NULL, NULL);
@@ -528,7 +534,7 @@
status_t SurfaceFlinger::getDisplayConfigs(const sp<IBinder>& display,
Vector<DisplayInfo>* configs) {
- if (configs == NULL) {
+ if ((configs == NULL) || (display.get() == NULL)) {
return BAD_VALUE;
}