Merge "gralloc: set ION_SECURE to flags instead of heap_mask during ion alloc."
diff --git a/common.mk b/common.mk
index 30896a8..ebfc8ec 100644
--- a/common.mk
+++ b/common.mk
@@ -25,6 +25,10 @@
common_flags += -D__ARM_HAVE_NEON
endif
+ifeq ($(TARGET_BOARD_PLATFORM), msm8974)
+ common_flags += -DVENUS_COLOR_FORMAT
+endif
+
common_deps :=
kernel_includes :=
diff --git a/libcopybit/Android.mk b/libcopybit/Android.mk
index 2c28a7b..55d421b 100644
--- a/libcopybit/Android.mk
+++ b/libcopybit/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2008 The Android Open Source Project
+# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,15 +15,15 @@
LOCAL_PATH:= $(call my-dir)
include $(LOCAL_PATH)/../common.mk
include $(CLEAR_VARS)
+
LOCAL_MODULE := copybit.$(TARGET_BOARD_PLATFORM)
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := $(common_includes) $(kernel_includes)
LOCAL_SHARED_LIBRARIES := $(common_libs) libdl libmemalloc
-LOCAL_CFLAGS := $(common_flags)
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdcopybit\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
-
ifeq ($(TARGET_USES_C2D_COMPOSITION),true)
LOCAL_CFLAGS += -DCOPYBIT_Z180=1 -DC2D_SUPPORT_DISPLAY=1
LOCAL_SRC_FILES := copybit_c2d.cpp software_converter.cpp
diff --git a/libcopybit/copybit.cpp b/libcopybit/copybit.cpp
index f79c33b..773e9b8 100644
--- a/libcopybit/copybit.cpp
+++ b/libcopybit/copybit.cpp
@@ -15,9 +15,6 @@
* limitations under the License.
*/
-
-#define LOG_TAG "copybit"
-
#include <cutils/log.h>
#include <linux/msm_mdp.h>
diff --git a/libcopybit/copybit_c2d.cpp b/libcopybit/copybit_c2d.cpp
index 365be5f..ea5dd2a 100644
--- a/libcopybit/copybit_c2d.cpp
+++ b/libcopybit/copybit_c2d.cpp
@@ -15,8 +15,6 @@
* limitations under the License.
*/
-#define LOG_TAG "copybit_c2d"
-
#include <cutils/log.h>
#include <stdint.h>
diff --git a/libcopybit/software_converter.cpp b/libcopybit/software_converter.cpp
index c9bb674..ec0f271 100644
--- a/libcopybit/software_converter.cpp
+++ b/libcopybit/software_converter.cpp
@@ -27,7 +27,6 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#define LOG_TAG "copybit"
#include <cutils/log.h>
#include <stdlib.h>
#include <errno.h>
diff --git a/libexternal/Android.mk b/libexternal/Android.mk
index cdbbd5c..f723113 100644
--- a/libexternal/Android.mk
+++ b/libexternal/Android.mk
@@ -1,12 +1,13 @@
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/../common.mk
include $(CLEAR_VARS)
+
LOCAL_MODULE := libexternal
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := $(common_includes) $(kernel_includes)
LOCAL_SHARED_LIBRARIES := $(common_libs) liboverlay
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"external\"
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdexternal\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
LOCAL_SRC_FILES := external.cpp
diff --git a/libexternal/external.cpp b/libexternal/external.cpp
index f9ee94c..b9abc31 100644
--- a/libexternal/external.cpp
+++ b/libexternal/external.cpp
@@ -549,7 +549,8 @@
if(mFd == -1)
return false;
struct mdp_display_commit ext_commit;
- ext_commit.flags |= MDP_DISPLAY_COMMIT_OVERLAY;
+ memset(&ext_commit, 0, sizeof(struct mdp_display_commit));
+ ext_commit.flags = MDP_DISPLAY_COMMIT_OVERLAY;
if (ioctl(mFd, MSMFB_DISPLAY_COMMIT, &ext_commit) == -1) {
ALOGE("%s: MSMFB_DISPLAY_COMMIT for external failed, str: %s",
__FUNCTION__, strerror(errno));
diff --git a/libgenlock/Android.mk b/libgenlock/Android.mk
index 92ac227..96e8b4e 100644
--- a/libgenlock/Android.mk
+++ b/libgenlock/Android.mk
@@ -6,8 +6,8 @@
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := $(common_includes)
LOCAL_SHARED_LIBRARIES := liblog libcutils
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"libgenlock\"
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdgenlock\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
LOCAL_SRC_FILES := genlock.cpp
-include $(BUILD_SHARED_LIBRARY)
+include $(BUILD_SHARED_LIBRARY)
diff --git a/libgralloc/Android.mk b/libgralloc/Android.mk
index 9d6afbc..159a252 100644
--- a/libgralloc/Android.mk
+++ b/libgralloc/Android.mk
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#gralloc module
+# Gralloc module
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/../common.mk
include $(CLEAR_VARS)
@@ -23,18 +23,21 @@
LOCAL_C_INCLUDES := $(common_includes) $(kernel_includes)
LOCAL_SHARED_LIBRARIES := $(common_libs) libmemalloc libgenlock
LOCAL_SHARED_LIBRARIES += libqdutils libGLESv1_CM
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"gralloc\"
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdgralloc\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps) $(kernel_deps)
LOCAL_SRC_FILES := gpu.cpp gralloc.cpp framebuffer.cpp mapper.cpp
+
include $(BUILD_SHARED_LIBRARY)
-#MemAlloc Library
+# MemAlloc Library
include $(CLEAR_VARS)
+
LOCAL_MODULE := libmemalloc
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := $(common_includes) $(kernel_includes)
LOCAL_SHARED_LIBRARIES := $(common_libs) libgenlock
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"memalloc\"
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdmemalloc\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps) $(kernel_deps)
LOCAL_SRC_FILES := ionalloc.cpp alloc_controller.cpp
+
include $(BUILD_SHARED_LIBRARY)
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index e4d1d68..823c1ae 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -36,6 +36,14 @@
#include "gr.h"
#include "comptype.h"
+#ifdef VENUS_COLOR_FORMAT
+#include <media/msm_media_info.h>
+#else
+#define VENUS_Y_STRIDE(args...) 0
+#define VENUS_Y_SCANLINES(args...) 0
+#define VENUS_BUFFER_SIZE(args...) 0
+#endif
+
using namespace gralloc;
using namespace qdutils;
diff --git a/libgralloc/fb_priv.h b/libgralloc/fb_priv.h
index 8f1a09b..9b08dd5 100644
--- a/libgralloc/fb_priv.h
+++ b/libgralloc/fb_priv.h
@@ -45,7 +45,6 @@
pthread_mutex_t lock;
private_handle_t *currentBuffer;
struct fb_var_screeninfo info;
- struct mdp_buf_fence fence;
struct mdp_display_commit commit;
struct fb_fix_screeninfo finfo;
float xdpi;
diff --git a/libgralloc/framebuffer.cpp b/libgralloc/framebuffer.cpp
index 57df5b1..1193a27 100644
--- a/libgralloc/framebuffer.cpp
+++ b/libgralloc/framebuffer.cpp
@@ -154,7 +154,6 @@
if (fd < 0)
return -errno;
- memset(&module->fence, 0, sizeof(struct mdp_buf_fence));
memset(&module->commit, 0, sizeof(struct mdp_display_commit));
struct fb_fix_screeninfo finfo;
@@ -329,7 +328,7 @@
size_t fbSize = roundUpToPageSize(finfo.line_length * info.yres)*
module->numBuffers;
module->framebuffer = new private_handle_t(fd, fbSize,
- private_handle_t::PRIV_FLAGS_USES_PMEM,
+ private_handle_t::PRIV_FLAGS_USES_ION,
BUFFER_TYPE_UI,
module->fbFormat, info.xres, info.yres);
void* vaddr = mmap(0, fbSize, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
diff --git a/libgralloc/gpu.cpp b/libgralloc/gpu.cpp
index c238264..f79841c 100644
--- a/libgralloc/gpu.cpp
+++ b/libgralloc/gpu.cpp
@@ -83,15 +83,14 @@
return -ENOMEM;
}
- // create a "fake" handles for it
- // Set the PMEM flag as well, since adreno
- // treats the FB memory as pmem
+ // create a "fake" handle for it
intptr_t vaddr = intptr_t(m->framebuffer->base);
- private_handle_t* hnd = new private_handle_t(dup(m->framebuffer->fd), bufferSize,
- private_handle_t::PRIV_FLAGS_USES_PMEM |
- private_handle_t::PRIV_FLAGS_FRAMEBUFFER,
- BUFFER_TYPE_UI, m->fbFormat, m->info.xres,
- m->info.yres);
+ private_handle_t* hnd = new private_handle_t(
+ dup(m->framebuffer->fd), bufferSize,
+ private_handle_t::PRIV_FLAGS_USES_ION |
+ private_handle_t::PRIV_FLAGS_FRAMEBUFFER,
+ BUFFER_TYPE_UI, m->fbFormat, m->info.xres,
+ m->info.yres);
// find a free slot
for (uint32_t i=0 ; i<numBuffers ; i++) {
diff --git a/libhwcomposer/Android.mk b/libhwcomposer/Android.mk
index 24fd2d4..543efd9 100644
--- a/libhwcomposer/Android.mk
+++ b/libhwcomposer/Android.mk
@@ -1,6 +1,7 @@
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/../common.mk
include $(CLEAR_VARS)
+
LOCAL_MODULE := hwcomposer.$(TARGET_BOARD_PLATFORM)
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_MODULE_TAGS := optional
@@ -8,8 +9,7 @@
LOCAL_SHARED_LIBRARIES := $(common_libs) libEGL liboverlay libgenlock \
libexternal libqdutils libhardware_legacy \
libdl libmemalloc libqservice
-
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"hwcomposer\"
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdhwcomposer\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
LOCAL_SRC_FILES := hwc.cpp \
hwc_video.cpp \
@@ -17,6 +17,6 @@
hwc_uevents.cpp \
hwc_vsync.cpp \
hwc_fbupdate.cpp \
- hwc_mdpcomp.cpp \
+ hwc_mdpcomp.cpp
include $(BUILD_SHARED_LIBRARY)
diff --git a/libhwcomposer/hwc.cpp b/libhwcomposer/hwc.cpp
index 23ffa42..a0a0c82 100644
--- a/libhwcomposer/hwc.cpp
+++ b/libhwcomposer/hwc.cpp
@@ -127,8 +127,8 @@
if(!MDPComp::configure(ctx, list)) {
VideoOverlay::prepare(ctx, list, HWC_DISPLAY_PRIMARY);
FBUpdate::prepare(ctx, fbLayer, HWC_DISPLAY_PRIMARY);
- ctx->mLayerCache->updateLayerCache(list);
}
+ ctx->mLayerCache[HWC_DISPLAY_PRIMARY]->updateLayerCache(list);
}
}
return 0;
@@ -150,6 +150,7 @@
VideoOverlay::prepare(ctx, list, HWC_DISPLAY_EXTERNAL);
FBUpdate::prepare(ctx, fbLayer, HWC_DISPLAY_EXTERNAL);
+ ctx->mLayerCache[HWC_DISPLAY_EXTERNAL]->updateLayerCache(list);
}
}
return 0;
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index 0ae64da..2f35567 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -60,7 +60,8 @@
ctx->mMDP.hasOverlay = qdutils::MDPVersion::getInstance().hasOverlay();
ctx->mMDP.panel = qdutils::MDPVersion::getInstance().getPanelType();
ctx->mExtDisplay = new ExternalDisplay(ctx);
- ctx->mLayerCache = new LayerCache();
+ for (uint32_t i = 0; i < HWC_NUM_DISPLAY_TYPES; i++)
+ ctx->mLayerCache[i] = new LayerCache();
MDPComp::init(ctx);
pthread_mutex_init(&(ctx->vstate.lock), NULL);
diff --git a/libhwcomposer/hwc_utils.h b/libhwcomposer/hwc_utils.h
index 256b840..d7200b0 100644
--- a/libhwcomposer/hwc_utils.h
+++ b/libhwcomposer/hwc_utils.h
@@ -220,7 +220,7 @@
qhwc::MDPInfo mMDP;
qhwc::DisplayAttributes dpyAttr[HWC_NUM_DISPLAY_TYPES];
qhwc::ListStats listStats[HWC_NUM_DISPLAY_TYPES];
- qhwc::LayerCache *mLayerCache;
+ qhwc::LayerCache *mLayerCache[HWC_NUM_DISPLAY_TYPES];
qhwc::LayerProp *layerProp[HWC_NUM_DISPLAY_TYPES];
//Securing in progress indicator
diff --git a/liblight/Android.mk b/liblight/Android.mk
index 93ece2f..40115d5 100644
--- a/liblight/Android.mk
+++ b/liblight/Android.mk
@@ -20,6 +20,7 @@
LOCAL_SRC_FILES := lights.c
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_SHARED_LIBRARIES := liblog
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdlights\"
LOCAL_MODULE := lights.$(TARGET_BOARD_PLATFORM)
LOCAL_MODULE_TAGS := optional
diff --git a/liblight/lights.c b/liblight/lights.c
index b9d1e48..2c62744 100644
--- a/liblight/lights.c
+++ b/liblight/lights.c
@@ -16,7 +16,6 @@
// #define LOG_NDEBUG 0
-#define LOG_TAG "lights"
#include <cutils/log.h>
diff --git a/liboverlay/Android.mk b/liboverlay/Android.mk
index 39244fd..82c6610 100644
--- a/liboverlay/Android.mk
+++ b/liboverlay/Android.mk
@@ -1,12 +1,13 @@
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/../common.mk
include $(CLEAR_VARS)
+
LOCAL_MODULE := liboverlay
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := $(common_includes) $(kernel_includes)
LOCAL_SHARED_LIBRARIES := $(common_libs) libqdutils libmemalloc
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"overlay\"
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdoverlay\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
LOCAL_SRC_FILES := \
overlay.cpp \
diff --git a/liboverlay/overlayMdp.cpp b/liboverlay/overlayMdp.cpp
index f4e0b51..48630a5 100644
--- a/liboverlay/overlayMdp.cpp
+++ b/liboverlay/overlayMdp.cpp
@@ -18,9 +18,6 @@
#include "overlayUtils.h"
#include "overlayMdp.h"
-#undef ALOG_TAG
-#define ALOG_TAG "overlay"
-
namespace ovutils = overlay::utils;
namespace overlay {
diff --git a/liboverlay/overlayMdssRot.cpp b/liboverlay/overlayMdssRot.cpp
index 39c7f95..cb3c48f 100644
--- a/liboverlay/overlayMdssRot.cpp
+++ b/liboverlay/overlayMdssRot.cpp
@@ -20,6 +20,12 @@
#include "overlayUtils.h"
#include "overlayRotator.h"
+#ifdef VENUS_COLOR_FORMAT
+#include <media/msm_media_info.h>
+#else
+#define VENUS_BUFFER_SIZE(args...) 0
+#endif
+
#ifndef MDSS_MDP_ROT_ONLY
#define MDSS_MDP_ROT_ONLY 0x80
#endif
@@ -200,12 +206,12 @@
bool MdssRot::close() {
bool success = true;
- if(mFd.valid() && (getSessId() > 0)) {
+ if(mFd.valid() && (getSessId() != (uint32_t) MSMFB_NEW_REQUEST)) {
if(!mdp_wrapper::unsetOverlay(mFd.getFD(), getSessId())) {
ALOGE("MdssRot::close unsetOverlay failed, fd=%d sessId=%d",
mFd.getFD(), getSessId());
- success = false;
- }
+ success = false;
+ }
}
if (!mFd.close()) {
diff --git a/libqdutils/Android.mk b/libqdutils/Android.mk
index 61daeac..ed8bed0 100644
--- a/libqdutils/Android.mk
+++ b/libqdutils/Android.mk
@@ -6,8 +6,9 @@
LOCAL_MODULE_TAGS := optional
LOCAL_SHARED_LIBRARIES := $(common_libs)
LOCAL_C_INCLUDES := $(common_includes) $(kernel_includes)
-LOCAL_CFLAGS := $(common_flags)
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdutils\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
LOCAL_SRC_FILES := profiler.cpp mdp_version.cpp \
idle_invalidator.cpp
+
include $(BUILD_SHARED_LIBRARY)
diff --git a/libqdutils/profiler.cpp b/libqdutils/profiler.cpp
index a06ec4d..e39b304 100644
--- a/libqdutils/profiler.cpp
+++ b/libqdutils/profiler.cpp
@@ -27,7 +27,6 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#define LOG_TAG "CALCFPS"
#define LOG_NDDEBUG 0
#include "profiler.h"
diff --git a/libqservice/Android.mk b/libqservice/Android.mk
index ee1fe21..8e82f42 100644
--- a/libqservice/Android.mk
+++ b/libqservice/Android.mk
@@ -1,12 +1,13 @@
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/../common.mk
include $(CLEAR_VARS)
+
LOCAL_MODULE := libqservice
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := $(common_includes) $(kernel_includes)
LOCAL_SHARED_LIBRARIES := $(common_libs) libexternal libbinder
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qService\"
+LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"qdqservice\"
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
LOCAL_SRC_FILES := QService.cpp \
IQService.cpp
diff --git a/libtilerenderer/Android.mk b/libtilerenderer/Android.mk
index af8f25f..ca17fbc 100644
--- a/libtilerenderer/Android.mk
+++ b/libtilerenderer/Android.mk
@@ -5,6 +5,7 @@
ifeq ($(USE_OPENGL_RENDERER),true)
LOCAL_MODULE := libtilerenderer
LOCAL_MODULE_TAGS := optional
+LOCAL_CFLAGS := -DLOG_TAG=\"qdtilerenderer\"
LOCAL_C_INCLUDES := \
frameworks/base/include/utils \
frameworks/base/libs/hwui \
@@ -15,8 +16,8 @@
external/skia/include/utils \
hardware/libhardware/include/hardware \
frameworks/base/opengl/include/GLES2
-
LOCAL_SHARED_LIBRARIES := $(common_libs) libGLESv2 libhwui
LOCAL_SRC_FILES := tilerenderer.cpp
+
include $(BUILD_SHARED_LIBRARY)
endif