blob: 3f84810296c33e091bdd51b5689f6142683979f5 [file] [log] [blame]
Chia-I Wu2ec32d42011-06-12 16:21:30 +08001# Copyright (C) 2010 Chia-I Wu <olvaffe@gmail.com>
2# Copyright (C) 2010-2011 LunarG Inc.
3#
4# Permission is hereby granted, free of charge, to any person obtaining a
5# copy of this software and associated documentation files (the "Software"),
6# to deal in the Software without restriction, including without limitation
7# the rights to use, copy, modify, merge, publish, distribute, sublicense,
8# and/or sell copies of the Software, and to permit persons to whom the
9# Software is furnished to do so, subject to the following conditions:
10#
11# The above copyright notice and this permission notice shall be included
12# in all copies or substantial portions of the Software.
13#
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20# DEALINGS IN THE SOFTWARE.
21
22# Android.mk for drm_gralloc
23
Chia-I Wu3ea00512011-08-29 14:57:41 +080024DRM_GPU_DRIVERS := $(strip $(filter-out swrast, $(BOARD_GPU_DRIVERS)))
Chia-I Wu3b55dd82011-07-22 13:42:19 +080025
Chia-I Wu0bf69ed2013-05-03 12:02:05 +080026intel_drivers := i915 i965 i915g ilo
Chia-I Wu3b55dd82011-07-22 13:42:19 +080027radeon_drivers := r300g r600g
Tomasz Figa47e7aba2015-05-07 02:17:46 +090028rockchip_drivers := rockchip
Chia-I Wu3b55dd82011-07-22 13:42:19 +080029nouveau_drivers := nouveau
30vmwgfx_drivers := vmwgfx
31
32valid_drivers := \
Andrew Boied58b0de2012-09-25 16:19:24 -070033 prebuilt \
Chia-I Wu3b55dd82011-07-22 13:42:19 +080034 $(intel_drivers) \
35 $(radeon_drivers) \
Tomasz Figa47e7aba2015-05-07 02:17:46 +090036 $(rockchip_drivers) \
Chia-I Wu3b55dd82011-07-22 13:42:19 +080037 $(nouveau_drivers) \
38 $(vmwgfx_drivers)
39
40# warn about invalid drivers
41invalid_drivers := $(filter-out $(valid_drivers), $(DRM_GPU_DRIVERS))
42ifneq ($(invalid_drivers),)
43$(warning invalid GPU drivers: $(invalid_drivers))
44# tidy up
45DRM_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(DRM_GPU_DRIVERS))
46endif
47
48ifneq ($(filter $(vmwgfx_drivers), $(DRM_GPU_DRIVERS)),)
49DRM_USES_PIPE := true
50else
51DRM_USES_PIPE := false
52endif
53
54ifneq ($(strip $(DRM_GPU_DRIVERS)),)
Chia-I Wu2ec32d42011-06-12 16:21:30 +080055
56LOCAL_PATH := $(call my-dir)
Chia-I Wu3b55dd82011-07-22 13:42:19 +080057
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +020058
59# Use the PREBUILT libraries
60ifeq ($(strip $(DRM_GPU_DRIVERS)),prebuilt)
61
62include $(CLEAR_VARS)
63LOCAL_MODULE := libgralloc_drm
64LOCAL_MODULE_TAGS := optional
65LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY)
66LOCAL_MODULE_CLASS := SHARED_LIBRARIES
67LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
68include $(BUILD_PREBUILT)
69
Chia-I Wu2ec32d42011-06-12 16:21:30 +080070include $(CLEAR_VARS)
Andrew Boied58b0de2012-09-25 16:19:24 -070071LOCAL_MODULE := gralloc.$(TARGET_PRODUCT)
72LOCAL_MODULE_TAGS := optional
Chih-Wei Huang9ce9ceb2014-11-06 10:50:12 +080073LOCAL_MODULE_RELATIVE_PATH := hw
Andrew Boied58b0de2012-09-25 16:19:24 -070074LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY)
75LOCAL_MODULE_CLASS := SHARED_LIBRARIES
76LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
77include $(BUILD_PREBUILT)
78
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +020079# Use the sources
Andrew Boied58b0de2012-09-25 16:19:24 -070080else
Chia-I Wu2ec32d42011-06-12 16:21:30 +080081
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +020082include $(CLEAR_VARS)
83LOCAL_MODULE := libgralloc_drm
84LOCAL_MODULE_TAGS := optional
85
Chia-I Wu2ec32d42011-06-12 16:21:30 +080086LOCAL_SRC_FILES := \
Sean Pauld225ab02015-02-09 02:31:58 -050087 gralloc_drm.cpp
Chia-I Wu2ec32d42011-06-12 16:21:30 +080088
89LOCAL_C_INCLUDES := \
Sean Paul436a5fc2015-01-12 14:42:57 -050090 external/libdrm \
91 external/libdrm/include/drm
Chia-I Wu2ec32d42011-06-12 16:21:30 +080092
93LOCAL_SHARED_LIBRARIES := \
94 libdrm \
95 liblog \
96 libcutils \
Tapani Pällib89d7ca2012-10-04 16:01:27 +030097 libhardware_legacy \
Sean Paul879cc4e2015-02-09 02:39:09 -050098 libutils
Chia-I Wu2ec32d42011-06-12 16:21:30 +080099
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800100ifneq ($(filter $(intel_drivers), $(DRM_GPU_DRIVERS)),)
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800101LOCAL_SRC_FILES += gralloc_drm_intel.c
Sean Paul436a5fc2015-01-12 14:42:57 -0500102LOCAL_C_INCLUDES += external/libdrm/intel
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800103LOCAL_CFLAGS += -DENABLE_INTEL
104LOCAL_SHARED_LIBRARIES += libdrm_intel
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800105endif
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800106
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800107ifneq ($(filter $(radeon_drivers), $(DRM_GPU_DRIVERS)),)
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800108LOCAL_SRC_FILES += gralloc_drm_radeon.c
Sean Paul436a5fc2015-01-12 14:42:57 -0500109LOCAL_C_INCLUDES += external/libdrm/radeon
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800110LOCAL_CFLAGS += -DENABLE_RADEON
111LOCAL_SHARED_LIBRARIES += libdrm_radeon
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800112endif
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800113
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800114ifneq ($(filter $(nouveau_drivers), $(DRM_GPU_DRIVERS)),)
Chia-I Wu64345b42011-06-12 18:43:33 +0800115LOCAL_SRC_FILES += gralloc_drm_nouveau.c
Sean Paul436a5fc2015-01-12 14:42:57 -0500116LOCAL_C_INCLUDES += external/libdrm/nouveau
Chia-I Wu64345b42011-06-12 18:43:33 +0800117LOCAL_CFLAGS += -DENABLE_NOUVEAU
118LOCAL_SHARED_LIBRARIES += libdrm_nouveau
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800119endif
Chia-I Wu64345b42011-06-12 18:43:33 +0800120
Tomasz Figa47e7aba2015-05-07 02:17:46 +0900121ifneq ($(filter $(rockchip_drivers), $(DRM_GPU_DRIVERS)),)
122LOCAL_SRC_FILES += gralloc_drm_rockchip.c
123LOCAL_CFLAGS += -DENABLE_ROCKCHIP
124LOCAL_SHARED_LIBRARIES += libdrm_rockchip
125endif
126
Chia-I Wua020bfa2011-06-13 08:48:44 +0800127ifeq ($(strip $(DRM_USES_PIPE)),true)
128LOCAL_SRC_FILES += gralloc_drm_pipe.c
129LOCAL_CFLAGS += -DENABLE_PIPE
130LOCAL_C_INCLUDES += \
Chih-Wei Huang4b3db542013-04-11 10:41:50 +0300131 external/mesa/include \
Chia-I Wua020bfa2011-06-13 08:48:44 +0800132 external/mesa/src/gallium/include \
133 external/mesa/src/gallium/winsys \
Chia-I Wu3dcc0152011-07-10 20:17:41 +0800134 external/mesa/src/gallium/drivers \
Chia-I Wua020bfa2011-06-13 08:48:44 +0800135 external/mesa/src/gallium/auxiliary
Chia-I Wu3dcc0152011-07-10 20:17:41 +0800136
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800137ifneq ($(filter r600g, $(DRM_GPU_DRIVERS)),)
Chia-I Wu3dcc0152011-07-10 20:17:41 +0800138LOCAL_CFLAGS += -DENABLE_PIPE_R600
Chia-I Wua020bfa2011-06-13 08:48:44 +0800139LOCAL_STATIC_LIBRARIES += \
Chia-I Wu3dcc0152011-07-10 20:17:41 +0800140 libmesa_pipe_r600 \
Chih-Wei Huang3d6e6142013-07-06 02:57:13 +0800141 libmesa_pipe_radeon \
Chih-Wei Huang4b3db542013-04-11 10:41:50 +0300142 libmesa_winsys_radeon
Chia-I Wu3dcc0152011-07-10 20:17:41 +0800143endif
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800144ifneq ($(filter vmwgfx, $(DRM_GPU_DRIVERS)),)
145LOCAL_CFLAGS += -DENABLE_PIPE_VMWGFX
146LOCAL_STATIC_LIBRARIES += \
147 libmesa_pipe_svga \
148 libmesa_winsys_svga
Chia-I Wudb29afe2011-08-24 14:07:06 +0800149LOCAL_C_INCLUDES += \
150 external/mesa/src/gallium/drivers/svga/include
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800151endif
Chia-I Wu3dcc0152011-07-10 20:17:41 +0800152
153LOCAL_STATIC_LIBRARIES += \
Chia-I Wua020bfa2011-06-13 08:48:44 +0800154 libmesa_gallium
Chia-I Wu3dcc0152011-07-10 20:17:41 +0800155LOCAL_SHARED_LIBRARIES += libdl
Chia-I Wua020bfa2011-06-13 08:48:44 +0800156endif # DRM_USES_PIPE
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +0200157include $(BUILD_SHARED_LIBRARY)
Chia-I Wua020bfa2011-06-13 08:48:44 +0800158
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800159
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +0200160include $(CLEAR_VARS)
161LOCAL_SRC_FILES := \
Sean Pauld225ab02015-02-09 02:31:58 -0500162 gralloc.cpp
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +0200163
Tapani Pälli25d22512013-02-18 12:35:42 +0200164LOCAL_C_INCLUDES := \
Sean Paul436a5fc2015-01-12 14:42:57 -0500165 external/libdrm \
Sean Paul879cc4e2015-02-09 02:39:09 -0500166 external/libdrm/include/drm
Tapani Pälli25d22512013-02-18 12:35:42 +0200167
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +0200168LOCAL_SHARED_LIBRARIES := \
169 libgralloc_drm \
170 liblog \
Sean Paul879cc4e2015-02-09 02:39:09 -0500171 libutils
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +0200172
173# for glFlush/glFinish
174LOCAL_SHARED_LIBRARIES += \
175 libGLESv1_CM
176
Chih-Wei Huang53a49c02013-01-16 09:53:17 +0800177LOCAL_MODULE := gralloc.drm
Adrian Marius Negreanu05280dd2012-11-14 11:29:48 +0200178LOCAL_MODULE_TAGS := optional
Chih-Wei Huang9ce9ceb2014-11-06 10:50:12 +0800179LOCAL_MODULE_RELATIVE_PATH := hw
Chia-I Wu2ec32d42011-06-12 16:21:30 +0800180include $(BUILD_SHARED_LIBRARY)
181
Andrew Boied58b0de2012-09-25 16:19:24 -0700182endif # DRM_GPU_DRIVERS=prebuilt
Chia-I Wu3b55dd82011-07-22 13:42:19 +0800183endif # DRM_GPU_DRIVERS