DRM_GPU_DRIVERS := $(strip $(filter-out swrast, $(BOARD_GPU_DRIVERS)))
-intel_drivers := i915 i965 i915g
-radeon_drivers := r300g r600g
+freedreno_drivers := freedreno
+intel_drivers := i915 i965 i915g ilo
+radeon_drivers := r300g r600g radeonsi
nouveau_drivers := nouveau
-vmwgfx_drivers := vmwgfx
valid_drivers := \
prebuilt \
+ $(freedreno_drivers) \
$(intel_drivers) \
$(radeon_drivers) \
- $(nouveau_drivers) \
- $(vmwgfx_drivers)
-
-# warn about invalid drivers
-invalid_drivers := $(filter-out $(valid_drivers), $(DRM_GPU_DRIVERS))
-ifneq ($(invalid_drivers),)
-$(warning invalid GPU drivers: $(invalid_drivers))
-# tidy up
-DRM_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(DRM_GPU_DRIVERS))
-endif
+ $(nouveau_drivers)
-ifneq ($(filter $(vmwgfx_drivers), $(DRM_GPU_DRIVERS)),)
-DRM_USES_PIPE := true
-else
-DRM_USES_PIPE := false
+# Assume other driver names are pipe drivers
+ifneq ($(filter-out $(valid_drivers), $(DRM_GPU_DRIVERS)),)
+DRM_GPU_DRIVERS += pipe
endif
ifneq ($(strip $(DRM_GPU_DRIVERS)),)
include $(CLEAR_VARS)
LOCAL_MODULE := gralloc.$(TARGET_PRODUCT)
LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw/
+LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY)
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
LOCAL_MODULE := libgralloc_drm
LOCAL_MODULE_TAGS := optional
+LOCAL_CFLAGS := -std=c99
+
LOCAL_SRC_FILES := \
gralloc_drm.c \
gralloc_drm_kms.c
-LOCAL_C_INCLUDES := \
- external/drm \
- external/drm/include/drm
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+ $(LOCAL_PATH)
LOCAL_SHARED_LIBRARIES := \
libdrm \
libcutils \
libhardware_legacy \
+ifneq ($(filter $(freedreno_drivers), $(DRM_GPU_DRIVERS)),)
+LOCAL_SRC_FILES += gralloc_drm_freedreno.c
+LOCAL_CFLAGS += -DENABLE_FREEDRENO
+LOCAL_SHARED_LIBRARIES += libdrm_freedreno
+endif
+
ifneq ($(filter $(intel_drivers), $(DRM_GPU_DRIVERS)),)
LOCAL_SRC_FILES += gralloc_drm_intel.c
-LOCAL_C_INCLUDES += external/drm/intel
LOCAL_CFLAGS += -DENABLE_INTEL
LOCAL_SHARED_LIBRARIES += libdrm_intel
endif
ifneq ($(filter $(radeon_drivers), $(DRM_GPU_DRIVERS)),)
LOCAL_SRC_FILES += gralloc_drm_radeon.c
-LOCAL_C_INCLUDES += external/drm/radeon
LOCAL_CFLAGS += -DENABLE_RADEON
LOCAL_SHARED_LIBRARIES += libdrm_radeon
endif
ifneq ($(filter $(nouveau_drivers), $(DRM_GPU_DRIVERS)),)
LOCAL_SRC_FILES += gralloc_drm_nouveau.c
-LOCAL_C_INCLUDES += external/drm/nouveau
LOCAL_CFLAGS += -DENABLE_NOUVEAU
LOCAL_SHARED_LIBRARIES += libdrm_nouveau
endif
-ifeq ($(strip $(DRM_USES_PIPE)),true)
+ifneq ($(filter pipe, $(DRM_GPU_DRIVERS)),)
LOCAL_SRC_FILES += gralloc_drm_pipe.c
LOCAL_CFLAGS += -DENABLE_PIPE
LOCAL_C_INCLUDES += \
+ external/mesa/include \
+ external/mesa/src \
external/mesa/src/gallium/include \
- external/mesa/src/gallium/winsys \
- external/mesa/src/gallium/drivers \
external/mesa/src/gallium/auxiliary
-ifneq ($(filter r600g, $(DRM_GPU_DRIVERS)),)
-LOCAL_CFLAGS += -DENABLE_PIPE_R600
-LOCAL_STATIC_LIBRARIES += \
- libmesa_pipe_r600 \
- libmesa_winsys_r600
-endif
-ifneq ($(filter vmwgfx, $(DRM_GPU_DRIVERS)),)
-LOCAL_CFLAGS += -DENABLE_PIPE_VMWGFX
-LOCAL_STATIC_LIBRARIES += \
- libmesa_pipe_svga \
- libmesa_winsys_svga
-LOCAL_C_INCLUDES += \
- external/mesa/src/gallium/drivers/svga/include
-endif
-LOCAL_STATIC_LIBRARIES += \
- libmesa_gallium
LOCAL_SHARED_LIBRARIES += libdl
-endif # DRM_USES_PIPE
+endif # pipe_drivers
+
include $(BUILD_SHARED_LIBRARY)
LOCAL_SRC_FILES := \
gralloc.c \
-LOCAL_C_INCLUDES := \
- external/drm \
- external/drm/include/drm \
-
LOCAL_SHARED_LIBRARIES := \
libgralloc_drm \
+ libdrm \
liblog \
# for glFlush/glFinish
LOCAL_SHARED_LIBRARIES += \
libGLESv1_CM
-LOCAL_MODULE := gralloc.$(TARGET_PRODUCT)
+LOCAL_MODULE := gralloc.drm
LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw/
+LOCAL_MODULE_RELATIVE_PATH := hw
include $(BUILD_SHARED_LIBRARY)
endif # DRM_GPU_DRIVERS=prebuilt