OSDN Git Service

Reuse last overlay plane on ACRN when multi monitors connected
[android-x86/external-IA-Hardware-Composer.git] / common / Android.mk
1 # Copyright (c) 2017 Intel Corporation
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
15 LOCAL_PATH:= $(call my-dir)
16
17 include $(CLEAR_VARS)
18
19 LOCAL_SHARED_LIBRARIES := \
20         libcutils \
21         libdrm \
22         libEGL \
23         libGLESv2 \
24         libhardware \
25         liblog \
26         libui \
27         libutils \
28         libhwcservice \
29         libbinder
30
31 LOCAL_C_INCLUDES := \
32         system/core/include/utils \
33         $(LOCAL_PATH)/../public \
34         $(LOCAL_PATH)/core \
35         $(LOCAL_PATH)/compositor \
36         $(LOCAL_PATH)/compositor/gl \
37         $(LOCAL_PATH)/display \
38         $(LOCAL_PATH)/utils \
39         $(LOCAL_PATH)/../os \
40         $(LOCAL_PATH)/../os/android \
41         $(LOCAL_PATH)/../wsi \
42         $(LOCAL_PATH)/../wsi/drm
43
44
45 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
46 LOCAL_SHARED_LIBRARIES += \
47         libnativewindow
48 LOCAL_STATIC_LIBRARIES += \
49         libarect
50 LOCAL_HEADER_LIBRARIES += \
51         libnativebase_headers
52 LOCAL_CFLAGS += \
53         -DUSE_VNDK
54 endif
55
56 ifeq ($(strip $(BOARD_CURSOR_WA)), true)
57 LOCAL_CPPFLAGS += \
58         -DDISABLE_CURSOR_PLANE
59 endif
60
61 #LOCAL_CPPFLAGS += \
62 #       -DENABLE_DOWNSCALING
63
64 LOCAL_SRC_FILES := \
65         compositor/compositor.cpp \
66         compositor/compositorthread.cpp \
67         compositor/factory.cpp \
68         compositor/nativesurface.cpp \
69         compositor/renderstate.cpp \
70         core/gpudevice.cpp \
71         core/hwclayer.cpp \
72         core/resourcemanager.cpp \
73         core/framebuffermanager.cpp \
74         core/logicaldisplay.cpp \
75         core/logicaldisplaymanager.cpp \
76         core/mosaicdisplay.cpp \
77         core/overlaylayer.cpp \
78         display/displayplanemanager.cpp \
79         display/displayplanestate.cpp \
80         display/displayqueue.cpp \
81         display/vblankeventhandler.cpp \
82         display/virtualdisplay.cpp \
83         utils/fdhandler.cpp \
84         utils/hwcevent.cpp \
85         utils/hwcthread.cpp \
86         utils/hwcutils.cpp \
87         utils/disjoint_layers.cpp
88
89 ifeq ($(strip $(ENABLE_HYPER_DMABUF_SHARING)), true)
90 LOCAL_CPPFLAGS += -DENABLE_PANORAMA
91 LOCAL_SRC_FILES += display/virtualpanoramadisplay.cpp
92 endif
93
94 ifneq ($(strip $(HWC_DISABLE_VA_DRIVER)), true)
95 LOCAL_SHARED_LIBRARIES += \
96         libva \
97         libva-android
98
99 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/libva
100
101 LOCAL_SRC_FILES += compositor/va/varenderer.cpp \
102                    compositor/va/vautils.cpp
103
104 LOCAL_CPPFLAGS += \
105         -DVA_WITH_PAVP \
106         -DVA_WITH_VPP
107 else
108 LOCAL_CPPFLAGS += -DDISABLE_VA
109 endif
110
111 ifeq ($(strip $(ENABLE_HYPER_DMABUF_SHARING)), true)
112 LOCAL_CPPFLAGS += -DHYPER_DMABUF_SHARING
113 endif
114
115 ifeq ($(strip $(TARGET_USES_HWC2)), false)
116 LOCAL_C_INCLUDES += \
117         system/core/libsync \
118         system/core/libsync/include
119
120 LOCAL_SHARED_LIBRARIES += \
121         libsync
122
123 LOCAL_CPPFLAGS += -DENABLE_DOUBLE_BUFFERING
124 endif
125
126 LOCAL_CPPFLAGS += \
127         -DHWC2_INCLUDE_STRINGIFICATION \
128         -DHWC2_USE_CPP11 \
129         -Wno-date-time \
130         -DUSE_ANDROID_SHIM \
131         -D_FORTIFY_SOURCE=2 \
132         -fstack-protector-strong \
133         -Wformat -Wformat-security \
134         -std=c++14 -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 \
135         -Wall -Wsign-compare -Wpointer-arith \
136         -Wcast-qual -Wcast-align \
137         -DLOCK_DIR_PREFIX='"/vendor/etc"' \
138         -DHWC_DISPLAY_INI_PATH='"/vendor/etc/hwc_display.ini"' \
139         -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 \
140         -Wno-unused-parameter \
141         -O3
142
143 LOCAL_CPPFLAGS += -DVA_SUPPORT_COLOR_RANGE
144
145 ifeq ($(strip $(BOARD_USES_VULKAN)), true)
146 LOCAL_SHARED_LIBRARIES += \
147         libvulkan
148
149 LOCAL_CPPFLAGS += \
150         -DUSE_VK \
151         -DDISABLE_EXPLICIT_SYNC
152
153 LOCAL_C_INCLUDES += \
154         $(LOCAL_PATH)/compositor/vk \
155         $(LOCAL_PATH)/../../mesa/include
156
157 LOCAL_SRC_FILES += \
158         compositor/vk/vkprogram.cpp \
159         compositor/vk/vkrenderer.cpp \
160         compositor/vk/vksurface.cpp \
161         compositor/vk/nativevkresource.cpp \
162         compositor/vk/vkshim.cpp
163 else
164 LOCAL_CPPFLAGS += \
165         -DUSE_GL \
166         -DPREBUILT_SHADER_FILE_PATH='"/vendor/etc"'
167
168 LOCAL_SRC_FILES += \
169         compositor/gl/glprogram.cpp \
170         compositor/gl/glrenderer.cpp \
171         compositor/gl/glsurface.cpp \
172         compositor/gl/egloffscreencontext.cpp \
173         compositor/gl/nativeglresource.cpp \
174         compositor/gl/shim.cpp
175 endif
176
177 LOCAL_C_INCLUDES += \
178         $(INTEL_MINIGBM)/cros_gralloc/
179
180 LOCAL_MODULE := libhwcomposer_common
181 LOCAL_CFLAGS += -fvisibility=default
182 LOCAL_LDFLAGS += -no-undefined
183 LOCAL_PROPRIETARY_MODULE := true
184 include $(BUILD_STATIC_LIBRARY)