1# Copyright (C) 2008 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH := $(call my-dir) 16 17# HAL module implemenation, not prelinked and stored in 18# hw/<OVERLAY_HARDWARE_MODULE_ID>.<ro.product.board>.so 19include $(CLEAR_VARS) 20 21LOCAL_PRELINK_MODULE := false 22LOCAL_MODULE_RELATIVE_PATH := hw 23LOCAL_SHARED_LIBRARIES := liblog libcutils libdrm \ 24 libwsbm libutils libhardware \ 25 libva libva-tpi libva-android libsync 26 27LOCAL_HEADER_LIBRARIES := libsystem_headers 28 29LOCAL_SRC_FILES := \ 30 ../../common/base/Drm.cpp \ 31 ../../common/base/HwcLayer.cpp \ 32 ../../common/base/HwcLayerList.cpp \ 33 ../../common/base/Hwcomposer.cpp \ 34 ../../common/base/HwcModule.cpp \ 35 ../../common/base/DisplayAnalyzer.cpp \ 36 ../../common/base/VsyncManager.cpp \ 37 ../../common/buffers/BufferCache.cpp \ 38 ../../common/buffers/GraphicBuffer.cpp \ 39 ../../common/buffers/BufferManager.cpp \ 40 ../../common/devices/PhysicalDevice.cpp \ 41 ../../common/devices/PrimaryDevice.cpp \ 42 ../../common/devices/ExternalDevice.cpp \ 43 ../../common/devices/VirtualDevice.cpp \ 44 ../../common/observers/UeventObserver.cpp \ 45 ../../common/observers/VsyncEventObserver.cpp \ 46 ../../common/observers/SoftVsyncObserver.cpp \ 47 ../../common/observers/MultiDisplayObserver.cpp \ 48 ../../common/planes/DisplayPlane.cpp \ 49 ../../common/planes/DisplayPlaneManager.cpp \ 50 ../../common/utils/Dump.cpp 51 52 53LOCAL_SRC_FILES += \ 54 ../../ips/common/BlankControl.cpp \ 55 ../../ips/common/HdcpControl.cpp \ 56 ../../ips/common/DrmControl.cpp \ 57 ../../ips/common/VsyncControl.cpp \ 58 ../../ips/common/PrepareListener.cpp \ 59 ../../ips/common/OverlayPlaneBase.cpp \ 60 ../../ips/common/SpritePlaneBase.cpp \ 61 ../../ips/common/PixelFormat.cpp \ 62 ../../ips/common/PlaneCapabilities.cpp \ 63 ../../ips/common/GrallocBufferBase.cpp \ 64 ../../ips/common/GrallocBufferMapperBase.cpp \ 65 ../../ips/common/TTMBufferMapper.cpp \ 66 ../../ips/common/DrmConfig.cpp \ 67 ../../ips/common/VideoPayloadManager.cpp \ 68 ../../ips/common/Wsbm.cpp \ 69 ../../ips/common/WsbmWrapper.c \ 70 ../../ips/common/RotationBufferProvider.cpp 71 72LOCAL_SRC_FILES += \ 73 ../../ips/tangier/TngGrallocBuffer.cpp \ 74 ../../ips/tangier/TngGrallocBufferMapper.cpp \ 75 ../../ips/tangier/TngOverlayPlane.cpp \ 76 ../../ips/tangier/TngPrimaryPlane.cpp \ 77 ../../ips/tangier/TngSpritePlane.cpp \ 78 ../../ips/tangier/TngDisplayQuery.cpp \ 79 ../../ips/tangier/TngPlaneManager.cpp \ 80 ../../ips/tangier/TngDisplayContext.cpp \ 81 ../../ips/tangier/TngCursorPlane.cpp 82 83 84LOCAL_SRC_FILES += \ 85 PlatfBufferManager.cpp \ 86 PlatFactory.cpp 87 88LOCAL_C_INCLUDES := $(addprefix $(LOCAL_PATH)/../../../, $(SGX_INCLUDES)) \ 89 $(call include-path-for, frameworks-native)/media/openmax \ 90 $(TARGET_OUT_HEADERS)/khronos/openmax \ 91 $(call include-path-for, opengl) \ 92 $(call include-path-for, libhardware_legacy)/hardware_legacy \ 93 prebuilts/intel/vendor/intel/hardware/prebuilts/$(REF_DEVICE_NAME)/rgx \ 94 prebuilts/intel/vendor/intel/hardware/prebuilts/$(REF_DEVICE_NAME)/rgx/include \ 95 vendor/intel/hardware/PRIVATE/widi/libhwcwidi/ \ 96 system/core \ 97 system/core/libsync/include \ 98 $(TARGET_OUT_HEADERS)/drm \ 99 $(TARGET_OUT_HEADERS)/libdrm \ 100 $(TARGET_OUT_HEADERS)/libdrm/shared-core \ 101 $(TARGET_OUT_HEADERS)/libwsbm/wsbm \ 102 $(TARGET_OUT_HEADERS)/libttm \ 103 $(TARGET_OUT_HEADERS)/libva 104 105LOCAL_C_INCLUDES += $(LOCAL_PATH) \ 106 $(LOCAL_PATH)/../../include \ 107 $(LOCAL_PATH)/../../include/pvr/hal \ 108 $(LOCAL_PATH)/../../common/base \ 109 $(LOCAL_PATH)/../../common/buffers \ 110 $(LOCAL_PATH)/../../common/devices \ 111 $(LOCAL_PATH)/../../common/observers \ 112 $(LOCAL_PATH)/../../common/planes \ 113 $(LOCAL_PATH)/../../common/utils \ 114 $(LOCAL_PATH)/../../ips/ \ 115 $(LOCAL_PATH)/ 116 117 118LOCAL_MODULE_TAGS := optional 119LOCAL_MODULE := hwcomposer.$(TARGET_BOARD_PLATFORM) 120LOCAL_CFLAGS += -DLINUX 121 122ifeq ($(BOARD_PANEL_IS_180_ROTATED), true) 123 $(warning "Panel rotates 180") 124 LOCAL_CFLAGS += -DENABLE_ROTATION_180 125endif 126ifeq ($(INTEL_WIDI), true) 127 LOCAL_SHARED_LIBRARIES += libhwcwidi libbinder 128 LOCAL_CFLAGS += -DINTEL_WIDI 129endif 130 131ifeq ($(TARGET_HAS_MULTIPLE_DISPLAY),true) 132 LOCAL_SHARED_LIBRARIES += libmultidisplay libbinder 133 LOCAL_CFLAGS += -DTARGET_HAS_MULTIPLE_DISPLAY 134endif 135 136LOCAL_COPY_HEADERS := \ 137 ../../include/pvr/hal/img_gralloc.h \ 138 ../../include/pvr/hal/img_gralloc1.h \ 139 ../../include/pvr/hal/img_gralloc_common_public.h \ 140 ../../include/pvr/hal/hal_public.h 141LOCAL_COPY_HEADERS_TO := pvr/hal 142 143ifneq ($(TARGET_BUILD_VARIANT),user) 144 LOCAL_CFLAGS += -DHWC_TRACE_FPS 145endif 146 147include $(BUILD_SHARED_LIBRARY) 148 149