diff options
-rw-r--r-- | Android.mk | 10 | ||||
-rw-r--r-- | common.mk | 23 | ||||
-rw-r--r-- | composer/Android.mk | 4 | ||||
-rw-r--r-- | composer/hwc_display.cpp | 10 | ||||
-rw-r--r-- | composer/hwc_layers.cpp | 7 | ||||
-rw-r--r-- | composer/hwc_layers.h | 6 | ||||
-rw-r--r-- | composer/hwc_session.cpp | 2 | ||||
-rw-r--r-- | gpu_tonemapper/Android.mk | 6 | ||||
-rw-r--r-- | gpu_tonemapper/glengine.cpp | 57 | ||||
-rw-r--r-- | gralloc/Android.mk | 11 | ||||
-rw-r--r-- | gralloc/gr_utils.cpp | 8 | ||||
-rw-r--r-- | include/Android.mk | 16 | ||||
-rw-r--r-- | libcopybit/Android.mk | 6 | ||||
-rw-r--r-- | libcopybit/c2d2.h | 3 | ||||
-rw-r--r-- | libdebug/Android.mk | 2 | ||||
-rw-r--r-- | libdrmutils/Android.mk | 2 | ||||
-rw-r--r-- | sde-drm/drm_connector.cpp | 4 | ||||
-rw-r--r-- | sde-drm/drm_crtc.cpp | 2 | ||||
-rw-r--r-- | sde-drm/drm_plane.cpp | 2 | ||||
-rw-r--r-- | sdm/include/core/layer_stack.h | 10 | ||||
-rw-r--r-- | sdm/libs/core/Android.mk | 31 | ||||
-rw-r--r-- | sdm/libs/core/drm/hw_device_drm.cpp | 10 | ||||
-rw-r--r-- | sdm/libs/utils/Android.mk | 17 |
23 files changed, 110 insertions, 139 deletions
@@ -1,8 +1,10 @@ +ifeq ($(call my-dir),$(call project-path-for,qcom-display)) + sdm-libs := sdm/libs display-hals := include $(sdm-libs)/utils $(sdm-libs)/core libdebug gpu_tonemapper ifneq ($(TARGET_IS_HEADLESS), true) - display-hals += libcopybit liblight libmemtrack hdmi_cec \ + display-hals += libcopybit libmemtrack hdmi_cec \ libdrmutils libhistogram drm.vendor endif @@ -11,6 +13,10 @@ display-hals += sde-drm display-hals += composer display-hals += init +ifneq ($(TARGET_PROVIDES_LIBLIGHT),true) + display-hals += liblight +endif + ifeq ($(call is-vendor-board-platform,QCOM),true) include $(call all-named-subdir-makefiles,$(display-hals)) else @@ -18,3 +24,5 @@ ifneq ($(filter msm% apq%,$(TARGET_BOARD_PLATFORM)),) include $(call all-named-subdir-makefiles,$(display-hals)) endif endif + +endif @@ -43,29 +43,6 @@ ifeq ($(LLVM_SA), true) common_flags += --compile-and-analyze --analyzer-perf --analyzer-Werror endif -common_includes := system/core/base/include -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__ - -# These include paths are deprecated post N -common_includes += $(display_top)/libqdutils -common_includes += $(display_top)/libqservice -common_includes += $(display_top)/gpu_tonemapper -ifneq ($(TARGET_IS_HEADLESS), true) - common_includes += $(display_top)/libcopybit -endif - -common_includes += $(display_top)/include -common_includes += $(display_top)/sdm/include -common_flags += -isystem $(TARGET_OUT_HEADERS)/qcom/display -endif -endif - -common_header_export_path := qcom/display - #Common libraries external to display HAL common_libs := liblog libutils libcutils libhardware common_deps := diff --git a/composer/Android.mk b/composer/Android.mk index 461396ce..14c9f92a 100644 --- a/composer/Android.mk +++ b/composer/Android.mk @@ -36,6 +36,10 @@ LOCAL_SHARED_LIBRARIES := libhistogram libbinder libhardware libutils lib libdisplayconfig.qti \ libdrm libthermalclient +ifeq ($(TARGET_USES_FOD_ZPOS), true) +LOCAL_CFLAGS += -DFOD_ZPOS +endif + LOCAL_SRC_FILES := QtiComposer.cpp QtiComposerClient.cpp service.cpp \ QtiComposerHandleImporter.cpp \ hwc_session.cpp \ diff --git a/composer/hwc_display.cpp b/composer/hwc_display.cpp index 560dd33c..3245ac83 100644 --- a/composer/hwc_display.cpp +++ b/composer/hwc_display.cpp @@ -699,6 +699,16 @@ void HWCDisplay::BuildLayerStack() { layer->flags.solid_fill = true; } +#ifdef FOD_ZPOS + if (hwc_layer->IsFodPressed()) { + layer->flags.fod_pressed = true; + layer_stack_.flags.fod_pressed_present = true; + } else { + layer->flags.fod_pressed = false; + layer_stack_.flags.fod_pressed_present = false; + } +#endif + if (!hwc_layer->IsDataSpaceSupported()) { layer->flags.skip = true; } diff --git a/composer/hwc_layers.cpp b/composer/hwc_layers.cpp index a2c42278..7b74c447 100644 --- a/composer/hwc_layers.cpp +++ b/composer/hwc_layers.cpp @@ -623,6 +623,13 @@ HWC2::Error HWCLayer::SetLayerVisibleRegion(hwc_region_t visible) { HWC2::Error HWCLayer::SetLayerZOrder(uint32_t z) { if (z_ != z) { +#ifdef FOD_ZPOS + if (z & FOD_PRESSED_LAYER_ZORDER) { + fod_pressed_ = true; + z &= ~FOD_PRESSED_LAYER_ZORDER; + } +#endif + geometry_changes_ |= kZOrder; z_ = z; } diff --git a/composer/hwc_layers.h b/composer/hwc_layers.h index 852668f1..8088f12e 100644 --- a/composer/hwc_layers.h +++ b/composer/hwc_layers.h @@ -135,6 +135,9 @@ class HWCLayer { void SetLayerAsMask(); bool BufferLatched() { return buffer_flipped_; } void ResetBufferFlip() { buffer_flipped_ = false; } +#ifdef FOD_ZPOS + bool IsFodPressed() { return fod_pressed_; } +#endif private: Layer *layer_ = nullptr; @@ -158,6 +161,9 @@ class HWCLayer { bool color_transform_matrix_set_ = false; bool buffer_flipped_ = false; bool secure_ = false; +#ifdef FOD_ZPOS + bool fod_pressed_ = false; +#endif // Composition requested by client(SF) HWC2::Composition client_requested_ = HWC2::Composition::Device; diff --git a/composer/hwc_session.cpp b/composer/hwc_session.cpp index f12263ba..cba02406 100644 --- a/composer/hwc_session.cpp +++ b/composer/hwc_session.cpp @@ -828,8 +828,8 @@ void HWCSession::HandlePendingRefresh() { for (size_t i = 0; i < pending_refresh_.size(); i++) { if (pending_refresh_.test(i)) { callbacks_.Refresh(i); + break; } - break; } pending_refresh_.reset(); diff --git a/gpu_tonemapper/Android.mk b/gpu_tonemapper/Android.mk index ac0eb608..2c9708f6 100644 --- a/gpu_tonemapper/Android.mk +++ b/gpu_tonemapper/Android.mk @@ -2,12 +2,6 @@ LOCAL_PATH := $(call my-dir) include $(LOCAL_PATH)/../common.mk include $(CLEAR_VARS) -LOCAL_COPY_HEADERS_TO := $(common_header_export_path) -LOCAL_COPY_HEADERS := TonemapFactory.h Tonemapper.h -LOCAL_VENDOR_MODULE := true -include $(BUILD_COPY_HEADERS) - -include $(CLEAR_VARS) LOCAL_MODULE := libgpu_tonemapper LOCAL_SANITIZE := integer_overflow LOCAL_VENDOR_MODULE := true diff --git a/gpu_tonemapper/glengine.cpp b/gpu_tonemapper/glengine.cpp index 35e1932c..bf3b58a5 100644 --- a/gpu_tonemapper/glengine.cpp +++ b/gpu_tonemapper/glengine.cpp @@ -315,36 +315,30 @@ void checkGlError(const char *file, int line) //----------------------------------------------------------------------------- { for (GLint error = glGetError(); error; error = glGetError()) { - char *pError; + const char *pError = "<unknown error>"; switch (error) { case GL_NO_ERROR: - pError = (char *)"GL_NO_ERROR"; + pError = "GL_NO_ERROR"; break; case GL_INVALID_ENUM: - pError = (char *)"GL_INVALID_ENUM"; + pError = "GL_INVALID_ENUM"; break; case GL_INVALID_VALUE: - pError = (char *)"GL_INVALID_VALUE"; + pError = "GL_INVALID_VALUE"; break; case GL_INVALID_OPERATION: - pError = (char *)"GL_INVALID_OPERATION"; + pError = "GL_INVALID_OPERATION"; break; case GL_OUT_OF_MEMORY: - pError = (char *)"GL_OUT_OF_MEMORY"; + pError = "GL_OUT_OF_MEMORY"; break; case GL_INVALID_FRAMEBUFFER_OPERATION: - pError = (char *)"GL_INVALID_FRAMEBUFFER_OPERATION"; + pError = "GL_INVALID_FRAMEBUFFER_OPERATION"; break; - - default: - ALOGE("glError (0x%x) %s:%d\n", error, file, line); - return; } ALOGE("glError (%s) %s:%d\n", pError, file, line); - return; } - return; } //----------------------------------------------------------------------------- @@ -357,59 +351,54 @@ void checkEglError(const char *file, int line) break; } - char *pError; + const char *pError = "<unknown error>"; switch (error) { case EGL_SUCCESS: - pError = (char *)"EGL_SUCCESS"; + pError = "EGL_SUCCESS"; break; case EGL_NOT_INITIALIZED: - pError = (char *)"EGL_NOT_INITIALIZED"; + pError = "EGL_NOT_INITIALIZED"; break; case EGL_BAD_ACCESS: - pError = (char *)"EGL_BAD_ACCESS"; + pError = "EGL_BAD_ACCESS"; break; case EGL_BAD_ALLOC: - pError = (char *)"EGL_BAD_ALLOC"; + pError = "EGL_BAD_ALLOC"; break; case EGL_BAD_ATTRIBUTE: - pError = (char *)"EGL_BAD_ATTRIBUTE"; + pError = "EGL_BAD_ATTRIBUTE"; break; case EGL_BAD_CONTEXT: - pError = (char *)"EGL_BAD_CONTEXT"; + pError = "EGL_BAD_CONTEXT"; break; case EGL_BAD_CONFIG: - pError = (char *)"EGL_BAD_CONFIG"; + pError = "EGL_BAD_CONFIG"; break; case EGL_BAD_CURRENT_SURFACE: - pError = (char *)"EGL_BAD_CURRENT_SURFACE"; + pError = "EGL_BAD_CURRENT_SURFACE"; break; case EGL_BAD_DISPLAY: - pError = (char *)"EGL_BAD_DISPLAY"; + pError = "EGL_BAD_DISPLAY"; break; case EGL_BAD_SURFACE: - pError = (char *)"EGL_BAD_SURFACE"; + pError = "EGL_BAD_SURFACE"; break; case EGL_BAD_MATCH: - pError = (char *)"EGL_BAD_MATCH"; + pError = "EGL_BAD_MATCH"; break; case EGL_BAD_PARAMETER: - pError = (char *)"EGL_BAD_PARAMETER"; + pError = "EGL_BAD_PARAMETER"; break; case EGL_BAD_NATIVE_PIXMAP: - pError = (char *)"EGL_BAD_NATIVE_PIXMAP"; + pError = "EGL_BAD_NATIVE_PIXMAP"; break; case EGL_BAD_NATIVE_WINDOW: - pError = (char *)"EGL_BAD_NATIVE_WINDOW"; + pError = "EGL_BAD_NATIVE_WINDOW"; break; case EGL_CONTEXT_LOST: - pError = (char *)"EGL_CONTEXT_LOST"; + pError = "EGL_CONTEXT_LOST"; break; - default: - ALOGE("eglError (0x%x) %s:%d\n", error, file, line); - return; } ALOGE("eglError (%s) %s:%d\n", pError, file, line); - return; } - return; } diff --git a/gralloc/Android.mk b/gralloc/Android.mk index 8b9fb3e9..8f22e3b4 100644 --- a/gralloc/Android.mk +++ b/gralloc/Android.mk @@ -50,6 +50,17 @@ LOCAL_SHARED_LIBRARIES := $(common_libs) libqdMetaData libdl \ android.hardware.graphics.mapper@4.0 LOCAL_CFLAGS := $(common_flags) $(qmaa_flags) -DLOG_TAG=\"qdgralloc\" -Wno-sign-conversion \ -D__QTI_DISPLAY_GRALLOC__ + +ifeq ($(TARGET_USES_YCRCB_CAMERA_PREVIEW),true) + LOCAL_CFLAGS += -DUSE_YCRCB_CAMERA_PREVIEW +else ifeq ($(TARGET_USES_YCRCB_VENUS_CAMERA_PREVIEW),true) + LOCAL_CFLAGS += -DUSE_YCRCB_CAMERA_PREVIEW_VENUS +endif + +ifeq ($(TARGET_NO_RAW10_CUSTOM_FORMAT),true) + LOCAL_CFLAGS += -DNO_RAW10_CUSTOM_FORMAT +endif + LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps) LOCAL_SRC_FILES := gr_utils.cpp gr_adreno_info.cpp gr_camera_info.cpp include $(BUILD_SHARED_LIBRARY) diff --git a/gralloc/gr_utils.cpp b/gralloc/gr_utils.cpp index 7c6265ed..5d4eb86f 100644 --- a/gralloc/gr_utils.cpp +++ b/gralloc/gr_utils.cpp @@ -162,8 +162,10 @@ bool IsCameraCustomFormat(int format) { case HAL_PIXEL_FORMAT_NV12_UBWC_FLEX_8_BATCH: case HAL_PIXEL_FORMAT_MULTIPLANAR_FLEX: case HAL_PIXEL_FORMAT_RAW_OPAQUE: +#ifndef NO_RAW10_CUSTOM_FORMAT case HAL_PIXEL_FORMAT_RAW10: case HAL_PIXEL_FORMAT_RAW12: +#endif return true; default: break; @@ -1393,7 +1395,13 @@ int GetImplDefinedFormat(uint64_t usage, int format) { gr_format = HAL_PIXEL_FORMAT_NV21_ZSL; // NV21 } } else { +#ifdef USE_YCRCB_CAMERA_PREVIEW + gr_format = HAL_PIXEL_FORMAT_YCrCb_420_SP; // NV21 preview +#elif USE_YCRCB_CAMERA_PREVIEW_VENUS + gr_format = HAL_PIXEL_FORMAT_YCrCb_420_SP_VENUS; // NV21 preview +#else gr_format = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS; // NV12 preview +#endif } } else if (usage & BufferUsage::COMPOSER_OVERLAY) { // XXX: If we still haven't set a format, default to RGBA8888 diff --git a/include/Android.mk b/include/Android.mk index aac2cec4..c89137df 100644 --- a/include/Android.mk +++ b/include/Android.mk @@ -1,19 +1,3 @@ LOCAL_PATH:= $(call my-dir) include $(LOCAL_PATH)/../common.mk include $(CLEAR_VARS) - -# Legacy header copy. This is deprecated. -# Modules using these headers should shift to using -# LOCAL_HEADER_LIBRARIES := display_headers -LOCAL_VENDOR_MODULE := true -LOCAL_COPY_HEADERS_TO := $(common_header_export_path) -LOCAL_COPY_HEADERS := display_properties.h \ - dpps_control_interface.h \ - ../libqdutils/qd_utils.h \ - ../libqdutils/display_config.h \ - ../libqservice/QServiceUtils.h \ - ../libqservice/IQService.h \ - ../libqservice/IQHDMIClient.h \ - ../libqservice/IQClient.h - -include $(BUILD_COPY_HEADERS) diff --git a/libcopybit/Android.mk b/libcopybit/Android.mk index 8396d510..84e234aa 100644 --- a/libcopybit/Android.mk +++ b/libcopybit/Android.mk @@ -15,9 +15,3 @@ LOCAL_PATH:= $(call my-dir) include $(LOCAL_PATH)/../common.mk include $(CLEAR_VARS) - -LOCAL_VENDOR_MODULE := true -LOCAL_COPY_HEADERS_TO := $(common_header_export_path) -LOCAL_COPY_HEADERS := copybit.h copybit_priv.h c2d2.h -#Copy the headers regardless of whether copybit is built -include $(BUILD_COPY_HEADERS) diff --git a/libcopybit/c2d2.h b/libcopybit/c2d2.h index 315a3ba5..79a4c9be 100644 --- a/libcopybit/c2d2.h +++ b/libcopybit/c2d2.h @@ -72,6 +72,7 @@ typedef enum { C2D_FORMAT_MACROTILED = (1 << 16), /* tiled in macro level */ C2D_FORMAT_TILED_4x4 = (1 << 17), /* 4x4 tiled format */ C2D_FORMAT_SWAP_RB = (1 << 18), /* Swap R & B color components */ + C2D_FORMAT_BT601_FULLRANGE = (1 << 20), /* YUV format is full range following BT 601 */ C2D_FORMAT_UBWC_COMPRESSED = (1 << 23), /* UBWC compressed format */ } C2D_FORMAT_MODE; @@ -207,6 +208,8 @@ typedef enum { C2D_COLOR_FORMAT_422_Y42B = 174, C2D_COLOR_FORMAT_800_Y800 = 190, + C2D_COLOR_FORMAT_420_TP10 = 191, + C2D_COLOR_FORMAT_420_P010 = 192, } C2D_YUV_FORMAT; diff --git a/libdebug/Android.mk b/libdebug/Android.mk index 4d188043..d99f9f61 100644 --- a/libdebug/Android.mk +++ b/libdebug/Android.mk @@ -9,7 +9,5 @@ LOCAL_SHARED_LIBRARIES := libdl LOCAL_CFLAGS := -DLOG_TAG=\"SDM\" -Wall -Werror -fno-operator-names LOCAL_CLANG := true LOCAL_SRC_FILES := debug_handler.cpp -LOCAL_COPY_HEADERS_TO := qcom/display -LOCAL_COPY_HEADERS := debug_handler.h include $(BUILD_SHARED_LIBRARY) diff --git a/libdrmutils/Android.mk b/libdrmutils/Android.mk index 4b49783e..5a218c68 100644 --- a/libdrmutils/Android.mk +++ b/libdrmutils/Android.mk @@ -16,8 +16,6 @@ LOCAL_CFLAGS += $(common_flags) LOCAL_CLANG := true LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr LOCAL_SRC_FILES := drm_master.cpp drm_res_mgr.cpp drm_lib_loader.cpp -LOCAL_COPY_HEADERS_TO := qcom/display -LOCAL_COPY_HEADERS := drm_master.h drm_res_mgr.h drm_lib_loader.h drm_logger.h drm_interface.h include $(BUILD_SHARED_LIBRARY) endif diff --git a/sde-drm/drm_connector.cpp b/sde-drm/drm_connector.cpp index 4e8d5653..6323c80f 100644 --- a/sde-drm/drm_connector.cpp +++ b/sde-drm/drm_connector.cpp @@ -502,7 +502,7 @@ void DRMConnector::ParseCapabilities(uint64_t blob_id, DRMConnectorInfo *info) { fmt_str[blob->length] = '\0'; stringstream stream(fmt_str); DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(), - blob->data, blob->length); + static_cast<const char *>(blob->data), blob->length); string line = {}; const string display_type = "display type="; const string panel_name = "panel name="; @@ -590,7 +590,7 @@ void DRMConnector::ParseModeProperties(uint64_t blob_id, DRMConnectorInfo *info) fmt_str[blob->length] = '\0'; stringstream stream(fmt_str); DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(), - blob->data, blob->length); + static_cast<const char *>(blob->data), blob->length); string line = {}; const string mode_name = "mode_name="; diff --git a/sde-drm/drm_crtc.cpp b/sde-drm/drm_crtc.cpp index 1c53082a..827866af 100644 --- a/sde-drm/drm_crtc.cpp +++ b/sde-drm/drm_crtc.cpp @@ -328,7 +328,7 @@ void DRMCrtc::ParseCapabilities(uint64_t blob_id) { fmt_str[blob->length] = '\0'; stringstream stream(fmt_str); DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(), - blob->data, blob->length); + static_cast<const char *>(blob->data), blob->length); string line = {}; string max_blendstages = "max_blendstages="; string qseed_type = "qseed_type="; diff --git a/sde-drm/drm_plane.cpp b/sde-drm/drm_plane.cpp index eb583435..9da1033f 100644 --- a/sde-drm/drm_plane.cpp +++ b/sde-drm/drm_plane.cpp @@ -452,7 +452,7 @@ void DRMPlane::GetTypeInfo(const PropertyMap &prop_map) { // like formats etc stringstream stream(fmt_str); DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(), - blob->data, blob->length); + static_cast<const char *>(blob->data), blob->length); string line = {}; string pixel_formats = "pixel_formats="; diff --git a/sdm/include/core/layer_stack.h b/sdm/include/core/layer_stack.h index e927a5e6..a6977216 100644 --- a/sdm/include/core/layer_stack.h +++ b/sdm/include/core/layer_stack.h @@ -44,6 +44,10 @@ #include "layer_buffer.h" #include "sdm_types.h" +#ifdef FOD_ZPOS +#include <drm/sde_drm.h> +#endif + namespace sdm { /*! @brief This enum represents display layer blending types. @@ -180,6 +184,10 @@ struct LayerFlags { uint32_t sde_preferred : 1; //! This flag shall be set by client to indicate that this layer //! will be composed by display device, layer with this flag //! will have highest priority. To be used by OEMs only. +#ifdef FOD_ZPOS + uint32_t fod_pressed : 1; //!< This flag shall be set internally to mark the fod pressed + //!< layer +#endif }; uint32_t flags = 0; //!< For initialization purpose only. @@ -285,6 +293,8 @@ struct LayerStackFlags { uint32_t config_changed : 1; //!< This flag indicates Display config must be validated. uint32_t scaling_rgb_layer_present : 1; //!< This flag indicates scaling rgb layer presense + + uint32_t fod_pressed_present : 1; }; uint32_t flags = 0; //!< For initialization purpose only. diff --git a/sdm/libs/core/Android.mk b/sdm/libs/core/Android.mk index c6d6febf..4ee29bef 100644 --- a/sdm/libs/core/Android.mk +++ b/sdm/libs/core/Android.mk @@ -22,6 +22,10 @@ ifeq ($(TARGET_USES_DRM_PP),true) LOCAL_CFLAGS += -DPP_DRM_ENABLE endif +ifeq ($(TARGET_USES_FOD_ZPOS), true) + LOCAL_CFLAGS += -DFOD_ZPOS +endif + LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps) LOCAL_SRC_FILES := core_interface.cpp \ core_impl.cpp \ @@ -49,30 +53,3 @@ ifneq ($(TARGET_IS_HEADLESS), true) endif include $(BUILD_SHARED_LIBRARY) - -SDM_HEADER_PATH := ../../include -include $(CLEAR_VARS) -LOCAL_VENDOR_MODULE := true -LOCAL_COPY_HEADERS_TO := $(common_header_export_path)/sdm/core -LOCAL_COPY_HEADERS = $(SDM_HEADER_PATH)/core/buffer_allocator.h \ - $(SDM_HEADER_PATH)/core/buffer_sync_handler.h \ - $(SDM_HEADER_PATH)/core/core_interface.h \ - $(SDM_HEADER_PATH)/core/display_interface.h \ - $(SDM_HEADER_PATH)/core/layer_buffer.h \ - $(SDM_HEADER_PATH)/core/layer_stack.h \ - $(SDM_HEADER_PATH)/core/sdm_types.h \ - $(SDM_HEADER_PATH)/core/socket_handler.h \ - $(SDM_HEADER_PATH)/core/dpps_interface.h -include $(BUILD_COPY_HEADERS) - -include $(CLEAR_VARS) -LOCAL_VENDOR_MODULE := true -LOCAL_COPY_HEADERS_TO := $(common_header_export_path)/sdm/private -LOCAL_COPY_HEADERS = $(SDM_HEADER_PATH)/private/color_interface.h \ - $(SDM_HEADER_PATH)/private/color_params.h \ - $(SDM_HEADER_PATH)/private/extension_interface.h \ - $(SDM_HEADER_PATH)/private/hw_info_types.h \ - $(SDM_HEADER_PATH)/private/partial_update_interface.h \ - $(SDM_HEADER_PATH)/private/resource_interface.h \ - $(SDM_HEADER_PATH)/private/strategy_interface.h -include $(BUILD_COPY_HEADERS) diff --git a/sdm/libs/core/drm/hw_device_drm.cpp b/sdm/libs/core/drm/hw_device_drm.cpp index ac726fc9..7b15b43a 100644 --- a/sdm/libs/core/drm/hw_device_drm.cpp +++ b/sdm/libs/core/drm/hw_device_drm.cpp @@ -1220,7 +1220,17 @@ void HWDeviceDRM::SetupAtomic(Fence::ScopedRef &scoped_ref, HWLayers *hw_layers, if (update_config) { drm_atomic_intf_->Perform(DRMOps::PLANE_SET_ALPHA, pipe_id, layer.plane_alpha); +#ifdef FOD_ZPOS + uint32_t z_order = pipe_info->z_order; + if (layer.flags.fod_pressed + || (hw_layer_info.stack->flags.fod_pressed_present + && i == hw_layer_count - 1)) { + z_order |= FOD_PRESSED_LAYER_ZORDER; + } + drm_atomic_intf_->Perform(DRMOps::PLANE_SET_ZORDER, pipe_id, z_order); +#else drm_atomic_intf_->Perform(DRMOps::PLANE_SET_ZORDER, pipe_id, pipe_info->z_order); +#endif DRMBlendType blending = {}; SetBlending(layer.blending, &blending); diff --git a/sdm/libs/utils/Android.mk b/sdm/libs/utils/Android.mk index c4741934..6a3b6a6a 100644 --- a/sdm/libs/utils/Android.mk +++ b/sdm/libs/utils/Android.mk @@ -18,20 +18,3 @@ LOCAL_SRC_FILES := debug.cpp \ LOCAL_SHARED_LIBRARIES := libdisplaydebug include $(BUILD_SHARED_LIBRARY) - -SDM_HEADER_PATH := ../../include -include $(CLEAR_VARS) -LOCAL_VENDOR_MODULE := true -LOCAL_COPY_HEADERS_TO := $(common_header_export_path)/sdm/utils -LOCAL_COPY_HEADERS = $(SDM_HEADER_PATH)/utils/constants.h \ - $(SDM_HEADER_PATH)/utils/debug.h \ - $(SDM_HEADER_PATH)/utils/formats.h \ - $(SDM_HEADER_PATH)/utils/locker.h \ - $(SDM_HEADER_PATH)/utils/rect.h \ - $(SDM_HEADER_PATH)/utils/sys.h \ - $(SDM_HEADER_PATH)/utils/sync_task.h \ - $(SDM_HEADER_PATH)/utils/utils.h \ - $(SDM_HEADER_PATH)/utils/fence.h \ - $(SDM_HEADER_PATH)/utils/factory.h - -include $(BUILD_COPY_HEADERS) |