summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Wei Huang <[email protected]>2015-05-20 11:25:34 +0800
committerEric Anholt <[email protected]>2015-06-09 12:25:50 -0700
commit1842832660c4eade037caa760110b58a2d7f055b (patch)
treef02b83a444a09087c616ec32cc9d6f3dfb292367
parent1e4081f54aa5c6cba566ed549389d847bf7e6799 (diff)
android: enable the radeonsi driver
Based on the nice work of Paulo Sergio Travaglia <[email protected]>. The main modifications are: - Include paths for LLVM header files and shared/static libraries - Set C++ flag "c++11" to avoid compiling errors on LLVM header files - Set defines for LLVM - Add GALLIVM source files - Changes path of libelf library for lollipop Signed-off-by: Chih-Wei Huang <[email protected]> Acked-by: Eric Anholt <[email protected]>
-rw-r--r--Android.common.mk8
-rw-r--r--Android.mk2
-rw-r--r--src/gallium/Android.common.mk8
-rw-r--r--src/gallium/auxiliary/Android.mk8
-rw-r--r--src/gallium/drivers/radeon/Android.mk4
-rw-r--r--src/gallium/targets/dri/Android.mk10
6 files changed, 40 insertions, 0 deletions
diff --git a/Android.common.mk b/Android.common.mk
index edf52d6fabb..43766bf8c57 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -68,6 +68,14 @@ LOCAL_CFLAGS += \
endif
endif
+ifeq ($(MESA_ENABLE_LLVM),true)
+LOCAL_CFLAGS += \
+ -DHAVE_LLVM=0x0305 -DLLVM_VERSION_PATCH=2 \
+ -D__STDC_CONSTANT_MACROS \
+ -D__STDC_FORMAT_MACROS \
+ -D__STDC_LIMIT_MACROS
+endif
+
LOCAL_CPPFLAGS += \
-Wno-error=non-virtual-dtor \
-Wno-non-virtual-dtor
diff --git a/Android.mk b/Android.mk
index 6a09a9db177..341978a68c6 100644
--- a/Android.mk
+++ b/Android.mk
@@ -80,6 +80,8 @@ else
MESA_BUILD_GALLIUM := false
endif
+MESA_ENABLE_LLVM := $(if $(filter radeonsi,$(MESA_GPU_DRIVERS)),true,false)
+
# add subdirectories
ifneq ($(strip $(MESA_GPU_DRIVERS)),)
diff --git a/src/gallium/Android.common.mk b/src/gallium/Android.common.mk
index 782510ff0f4..7c6c7ac6820 100644
--- a/src/gallium/Android.common.mk
+++ b/src/gallium/Android.common.mk
@@ -29,4 +29,12 @@ LOCAL_C_INCLUDES += \
$(GALLIUM_TOP)/winsys \
$(GALLIUM_TOP)/drivers
+ifeq ($(MESA_ENABLE_LLVM),true)
+LOCAL_C_INCLUDES += \
+ external/llvm/include \
+ external/llvm/device/include \
+ external/libcxx/include \
+ external/elfutils/$(if $(filter true,$(MESA_LOLLIPOP_BUILD)),0.153/)libelf
+endif
+
include $(MESA_COMMON_MK)
diff --git a/src/gallium/auxiliary/Android.mk b/src/gallium/auxiliary/Android.mk
index 96a2125defb..2d91752595c 100644
--- a/src/gallium/auxiliary/Android.mk
+++ b/src/gallium/auxiliary/Android.mk
@@ -35,6 +35,14 @@ LOCAL_SRC_FILES := \
LOCAL_C_INCLUDES := \
$(GALLIUM_TOP)/auxiliary/util
+ifeq ($(MESA_ENABLE_LLVM),true)
+LOCAL_SRC_FILES += \
+ $(GALLIVM_SOURCES) \
+ $(GALLIVM_CPP_SOURCES)
+
+LOCAL_CPPFLAGS := -std=c++11
+endif
+
LOCAL_MODULE := libmesa_gallium
# generate sources
diff --git a/src/gallium/drivers/radeon/Android.mk b/src/gallium/drivers/radeon/Android.mk
index d61579280ea..6997a6d3ec3 100644
--- a/src/gallium/drivers/radeon/Android.mk
+++ b/src/gallium/drivers/radeon/Android.mk
@@ -30,6 +30,10 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(C_SOURCES)
+ifeq ($(MESA_ENABLE_LLVM),true)
+LOCAL_SRC_FILES += $(LLVM_C_FILES)
+endif
+
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
LOCAL_MODULE := libmesa_pipe_radeon
diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk
index ac33a6ed32f..78f7b7c61f9 100644
--- a/src/gallium/targets/dri/Android.mk
+++ b/src/gallium/targets/dri/Android.mk
@@ -80,6 +80,7 @@ LOCAL_CFLAGS += -DGALLIUM_R600
endif
ifneq ($(filter radeonsi,$(MESA_GPU_DRIVERS)),)
gallium_DRIVERS += libmesa_pipe_radeonsi
+LOCAL_SHARED_LIBRARIES += libLLVM
LOCAL_CFLAGS += -DGALLIUM_RADEONSI
endif
gallium_DRIVERS += libmesa_winsys_radeon libmesa_pipe_radeon
@@ -108,5 +109,14 @@ LOCAL_STATIC_LIBRARIES := \
libmesa_util \
libmesa_loader \
+ifeq ($(MESA_ENABLE_LLVM),true)
+LOCAL_STATIC_LIBRARIES += \
+ libLLVMR600CodeGen \
+ libLLVMR600Desc \
+ libLLVMR600Info \
+ libLLVMR600AsmPrinter \
+ libelf
+endif
+
include $(GALLIUM_COMMON_MK)
include $(BUILD_SHARED_LIBRARY)