Module: Mesa
Branch: master
Commit: a2a63ad262acdff0ee0d568091dd81d7fad6d09c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2a63ad262acdff0ee0d568091dd81d7fad6d09c

Author: Mauro Rossi <[email protected]>
Date:   Tue Jan 10 01:53:00 2017 +0100

android: radeon: fix LLVMInitializeAMDGPU* functions declaration

LLVMInitializeAMDGPU* functions need to be explicitly declared
and mesa expects them via <llvm-c/Target.h> header,
but LLVM needs to be instructed to invoke its own LLVM_TARGET(AMDGPU) macro,
or the functions will not be available.

A new llvm cflag (-DFORCE_BUILD_AMDGPU) serves this purpose,
the same mechanism is used also by other llvm targets e.g. FORCE_BUILD_ARM

A necessary prerequisite is to have AMDGPU target handled accordingly
in llvm config files i.e. {Target,AsmParser,AsmPrinter}.def
for llvm device build includes.

This avoids the following building errors:

external/mesa/src/gallium/drivers/radeon/radeon_llvm_emit.c:121:2: error: 
implicit declaration of function 'LLVMInitializeAMDGPUTargetInfo' 
[-Werror=implicit-function-declaration]
  LLVMInitializeAMDGPUTargetInfo();
  ^
external/mesa/src/gallium/drivers/radeon/radeon_llvm_emit.c:122:2: error: 
implicit declaration of function 'LLVMInitializeAMDGPUTarget' 
[-Werror=implicit-function-declaration]
  LLVMInitializeAMDGPUTarget();
  ^
external/mesa/src/gallium/drivers/radeon/radeon_llvm_emit.c:123:2: error: 
implicit declaration of function 'LLVMInitializeAMDGPUTargetMC' 
[-Werror=implicit-function-declaration]
  LLVMInitializeAMDGPUTargetMC();
  ^
external/mesa/src/gallium/drivers/radeon/radeon_llvm_emit.c:124:2: error: 
implicit declaration of function 'LLVMInitializeAMDGPUAsmPrinter' 
[-Werror=implicit-function-declaration]
  LLVMInitializeAMDGPUAsmPrinter();
  ^

Acked-by: Nicolai Hähnle <[email protected]>
Acked-by: Emil Velikov <[email protected]>

---

 src/gallium/drivers/radeon/Android.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gallium/drivers/radeon/Android.mk 
b/src/gallium/drivers/radeon/Android.mk
index 2f72f1f..31eaa16 100644
--- a/src/gallium/drivers/radeon/Android.mk
+++ b/src/gallium/drivers/radeon/Android.mk
@@ -32,6 +32,7 @@ LOCAL_SRC_FILES := $(C_SOURCES)
 
 ifeq ($(MESA_ENABLE_LLVM),true)
 LOCAL_SRC_FILES += $(LLVM_C_FILES)
+LOCAL_CFLAGS += -DFORCE_BUILD_AMDGPU   # instructs LLVM to declare 
LLVMInitializeAMDGPU* functions
 endif
 
 LOCAL_SHARED_LIBRARIES := libdrm_radeon

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to