android: enable the radeonsi driver
Based on the nice work of Paulo Sergio Travaglia <pstglia@gmail.com>. 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 <cwhuang@linux.org.tw> Acked-by: Eric Anholt <eric@anholt.net>
This commit is contained in:

committed by
Eric Anholt

parent
1e4081f54a
commit
1842832660
@@ -68,6 +68,14 @@ LOCAL_CFLAGS += \
|
|||||||
endif
|
endif
|
||||||
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 += \
|
LOCAL_CPPFLAGS += \
|
||||||
-Wno-error=non-virtual-dtor \
|
-Wno-error=non-virtual-dtor \
|
||||||
-Wno-non-virtual-dtor
|
-Wno-non-virtual-dtor
|
||||||
|
@@ -80,6 +80,8 @@ else
|
|||||||
MESA_BUILD_GALLIUM := false
|
MESA_BUILD_GALLIUM := false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
MESA_ENABLE_LLVM := $(if $(filter radeonsi,$(MESA_GPU_DRIVERS)),true,false)
|
||||||
|
|
||||||
# add subdirectories
|
# add subdirectories
|
||||||
ifneq ($(strip $(MESA_GPU_DRIVERS)),)
|
ifneq ($(strip $(MESA_GPU_DRIVERS)),)
|
||||||
|
|
||||||
|
@@ -29,4 +29,12 @@ LOCAL_C_INCLUDES += \
|
|||||||
$(GALLIUM_TOP)/winsys \
|
$(GALLIUM_TOP)/winsys \
|
||||||
$(GALLIUM_TOP)/drivers
|
$(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)
|
include $(MESA_COMMON_MK)
|
||||||
|
@@ -35,6 +35,14 @@ LOCAL_SRC_FILES := \
|
|||||||
LOCAL_C_INCLUDES := \
|
LOCAL_C_INCLUDES := \
|
||||||
$(GALLIUM_TOP)/auxiliary/util
|
$(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
|
LOCAL_MODULE := libmesa_gallium
|
||||||
|
|
||||||
# generate sources
|
# generate sources
|
||||||
|
@@ -30,6 +30,10 @@ include $(CLEAR_VARS)
|
|||||||
|
|
||||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||||
|
|
||||||
|
ifeq ($(MESA_ENABLE_LLVM),true)
|
||||||
|
LOCAL_SRC_FILES += $(LLVM_C_FILES)
|
||||||
|
endif
|
||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
|
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
|
||||||
LOCAL_MODULE := libmesa_pipe_radeon
|
LOCAL_MODULE := libmesa_pipe_radeon
|
||||||
|
|
||||||
|
@@ -80,6 +80,7 @@ LOCAL_CFLAGS += -DGALLIUM_R600
|
|||||||
endif
|
endif
|
||||||
ifneq ($(filter radeonsi,$(MESA_GPU_DRIVERS)),)
|
ifneq ($(filter radeonsi,$(MESA_GPU_DRIVERS)),)
|
||||||
gallium_DRIVERS += libmesa_pipe_radeonsi
|
gallium_DRIVERS += libmesa_pipe_radeonsi
|
||||||
|
LOCAL_SHARED_LIBRARIES += libLLVM
|
||||||
LOCAL_CFLAGS += -DGALLIUM_RADEONSI
|
LOCAL_CFLAGS += -DGALLIUM_RADEONSI
|
||||||
endif
|
endif
|
||||||
gallium_DRIVERS += libmesa_winsys_radeon libmesa_pipe_radeon
|
gallium_DRIVERS += libmesa_winsys_radeon libmesa_pipe_radeon
|
||||||
@@ -108,5 +109,14 @@ LOCAL_STATIC_LIBRARIES := \
|
|||||||
libmesa_util \
|
libmesa_util \
|
||||||
libmesa_loader \
|
libmesa_loader \
|
||||||
|
|
||||||
|
ifeq ($(MESA_ENABLE_LLVM),true)
|
||||||
|
LOCAL_STATIC_LIBRARIES += \
|
||||||
|
libLLVMR600CodeGen \
|
||||||
|
libLLVMR600Desc \
|
||||||
|
libLLVMR600Info \
|
||||||
|
libLLVMR600AsmPrinter \
|
||||||
|
libelf
|
||||||
|
endif
|
||||||
|
|
||||||
include $(GALLIUM_COMMON_MK)
|
include $(GALLIUM_COMMON_MK)
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
Reference in New Issue
Block a user