From feaed06078bb51eabb3f6860aef9279e6c30d7b3 Mon Sep 17 00:00:00 2001 From: Naseer Ahmed Date: Tue, 17 Jan 2017 15:34:02 -0500 Subject: [PATCH] gpu_tonemapper: Fix compilation issue with GraphicBuffer Handle different version of GraphicBuffer with a compile time flag. CRs-Fixed: 1111917 Change-Id: I11aa6d64a8e61a4d7658cb5f924ee4dc38c40bc9 --- common.mk | 8 ++++++++ gpu_tonemapper/Android.mk | 2 +- gpu_tonemapper/EGLImageWrapper.cpp | 8 ++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/common.mk b/common.mk index fadc5d83..1044238c 100644 --- a/common.mk +++ b/common.mk @@ -9,6 +9,14 @@ ifeq ($(TARGET_USES_COLOR_METADATA), true) common_flags += -DUSE_COLOR_METADATA endif +CHECK_VERSION_LE = $(shell if [ $(1) -le $(2) ] ; then echo true ; else echo false ; fi) +PLATFORM_SDK_NOUGAT = 25 +ifeq "REL" "$(PLATFORM_VERSION_CODENAME)" +ifeq ($(call CHECK_VERSION_LE, $(PLATFORM_SDK_VERSION), $(PLATFORM_SDK_NOUGAT)), true) +version_flag := -D__NOUGAT__ +endif +endif + use_hwc2 := false ifeq ($(TARGET_USES_HWC2), true) use_hwc2 := true diff --git a/gpu_tonemapper/Android.mk b/gpu_tonemapper/Android.mk index 9ae3840a..4f716d24 100644 --- a/gpu_tonemapper/Android.mk +++ b/gpu_tonemapper/Android.mk @@ -11,7 +11,7 @@ LOCAL_MODULE := libgpu_tonemapper LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/qcom/display/ -LOCAL_CFLAGS := -Wno-missing-field-initializers -Wall \ +LOCAL_CFLAGS := $(version_flag) -Wno-missing-field-initializers -Wall \ -Wno-unused-parameter -std=c++11 -DLOG_TAG=\"GPU_TONEMAPPER\" LOCAL_SRC_FILES := TonemapFactory.cpp \ diff --git a/gpu_tonemapper/EGLImageWrapper.cpp b/gpu_tonemapper/EGLImageWrapper.cpp index 298475fe..1d5d57ee 100644 --- a/gpu_tonemapper/EGLImageWrapper.cpp +++ b/gpu_tonemapper/EGLImageWrapper.cpp @@ -41,8 +41,12 @@ EGLImageBuffer *EGLImageWrapper::wrap(const void *pvt_handle) } android::sp graphicBuffer = - new android::GraphicBuffer(src->width, src->height, src->format, flags, - src->width /*src->stride*/, native_handle, false); + new android::GraphicBuffer(src->width, src->height, src->format, +#ifndef __NOUGAT__ + 1, // Layer count +#endif + flags, src->width /*src->stride*/, + native_handle, false); result = new EGLImageBuffer(graphicBuffer);