mirror of
				https://github.com/tiagovignatti/intel-gpu-tools.git
				synced 2025-11-04 12:07:12 +00:00 
			
		
		
		
	intel-gpu-tools: Build tests needing cairo if ANDROID_HAS_CAIRO=1
Until now the tests that depended on libcairo were simply skipped in the android build. Now that I have a cairo port working, build these cairo dependent tests if ANDROID_HAS_CAIRO is set to 1 in the environment. For information on building cairo for IGT on Android see the wiki at: https://securewiki.ith.intel.com/display/GFXCore/IGT+Test+Suite+on+Android Signed-off-by: Tim Gore <tim.gore@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
		
							parent
							
								
									0fee90b56d
								
							
						
					
					
						commit
						41cbe36bba
					
				@ -31,17 +31,8 @@ $(GPU_TOOLS_PATH)/config.h:
 | 
			
		||||
 | 
			
		||||
include $(LOCAL_PATH)/Makefile.sources
 | 
			
		||||
 | 
			
		||||
skip_lib_list := \
 | 
			
		||||
    igt_kms.c \
 | 
			
		||||
    igt_kms.h \
 | 
			
		||||
    igt_fb.c
 | 
			
		||||
 | 
			
		||||
lib_list := $(filter-out $(skip_lib_list),$(libintel_tools_la_SOURCES))
 | 
			
		||||
 | 
			
		||||
include $(CLEAR_VARS)
 | 
			
		||||
 | 
			
		||||
LOCAL_SRC_FILES := $(lib_list)
 | 
			
		||||
 | 
			
		||||
LOCAL_GENERATED_SOURCES :=       \
 | 
			
		||||
	$(GPU_TOOLS_PATH)/version.h  \
 | 
			
		||||
	$(GPU_TOOLS_PATH)/config.h
 | 
			
		||||
@ -61,5 +52,19 @@ LOCAL_SHARED_LIBRARIES := libpciaccess  \
 | 
			
		||||
			  libdrm        \
 | 
			
		||||
			  libdrm_intel
 | 
			
		||||
 | 
			
		||||
ifeq ("${ANDROID_HAS_CAIRO}", "1")
 | 
			
		||||
    skip_lib_list :=
 | 
			
		||||
    LOCAL_C_INCLUDES += $(ANDROID_BUILD_TOP)/external/cairo-1.12.16/src
 | 
			
		||||
    LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=1
 | 
			
		||||
else
 | 
			
		||||
skip_lib_list := \
 | 
			
		||||
    igt_kms.c \
 | 
			
		||||
    igt_kms.h \
 | 
			
		||||
    igt_fb.c
 | 
			
		||||
    -DANDROID_HAS_CAIRO=0
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
LOCAL_SRC_FILES := $(filter-out $(skip_lib_list),$(libintel_tools_la_SOURCES))
 | 
			
		||||
 | 
			
		||||
include $(BUILD_STATIC_LIBRARY)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,8 @@
 | 
			
		||||
#ifndef __IGT_FB_H__
 | 
			
		||||
#define __IGT_FB_H__
 | 
			
		||||
 | 
			
		||||
#ifndef ANDROID
 | 
			
		||||
/* cairo is assumed available on linux. On Android we check for ANDROID_HAS_CAIRO */
 | 
			
		||||
#if (!defined(ANDROID)) || (defined(ANDROID) && ANDROID_HAS_CAIRO)
 | 
			
		||||
#include <cairo.h>
 | 
			
		||||
#else
 | 
			
		||||
typedef struct _cairo_surface cairo_surface_t;
 | 
			
		||||
 | 
			
		||||
@ -3,52 +3,70 @@ LOCAL_PATH := $(call my-dir)
 | 
			
		||||
include $(LOCAL_PATH)/Makefile.sources
 | 
			
		||||
 | 
			
		||||
#================#
 | 
			
		||||
 | 
			
		||||
# each igt test is a separate executable. define a function to build one of these tests
 | 
			
		||||
define add_test
 | 
			
		||||
    include $(CLEAR_VARS)
 | 
			
		||||
 | 
			
		||||
    # specific to this test
 | 
			
		||||
    LOCAL_SRC_FILES := $1.c
 | 
			
		||||
 | 
			
		||||
    LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
 | 
			
		||||
    LOCAL_CFLAGS += -DANDROID -UNDEBUG -include "check-ndebug.h"
 | 
			
		||||
    LOCAL_CFLAGS += -std=c99
 | 
			
		||||
    # FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
 | 
			
		||||
    LOCAL_CFLAGS += -Wno-error=return-type
 | 
			
		||||
    # Excessive complaining for established cases. Rely on the Linux version warnings.
 | 
			
		||||
    LOCAL_CFLAGS += -Wno-sign-compare
 | 
			
		||||
 | 
			
		||||
    LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
 | 
			
		||||
    LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
 | 
			
		||||
 | 
			
		||||
    LOCAL_MODULE := $1
 | 
			
		||||
 | 
			
		||||
    # common to all tests
 | 
			
		||||
    LOCAL_CFLAGS += ${IGT_LOCAL_CFLAGS}
 | 
			
		||||
    LOCAL_C_INCLUDES = ${IGT_LOCAL_C_INCLUDES}
 | 
			
		||||
    LOCAL_STATIC_LIBRARIES := ${IGT_LOCAL_STATIC_LIBRARIES}
 | 
			
		||||
    LOCAL_SHARED_LIBRARIES := ${IGT_LOCAL_SHARED_LIBRARIES}
 | 
			
		||||
 | 
			
		||||
    LOCAL_MODULE_TAGS := optional
 | 
			
		||||
 | 
			
		||||
    LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
 | 
			
		||||
 | 
			
		||||
    LOCAL_SHARED_LIBRARIES := libpciaccess  \
 | 
			
		||||
                              libdrm        \
 | 
			
		||||
                              libdrm_intel
 | 
			
		||||
 | 
			
		||||
    include $(BUILD_EXECUTABLE)
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
#================#
 | 
			
		||||
 | 
			
		||||
skip_tests_list := \
 | 
			
		||||
# some tests still do not build under android
 | 
			
		||||
skip_tests_list :=
 | 
			
		||||
skip_tests_list += gem_seqno_wrap
 | 
			
		||||
skip_tests_list += testdisplay        # needs glib.h
 | 
			
		||||
skip_tests_list += pm_pc8
 | 
			
		||||
skip_tests_list += kms_render         # needs glib.h
 | 
			
		||||
skip_tests_list += gem_exec_params    # needs macro that's missing from external/PRIVATE/drm/include/drmi915_drm.h
 | 
			
		||||
 | 
			
		||||
# set local compilation flags for IGT tests
 | 
			
		||||
IGT_LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM -DANDROID -UNDEBUG
 | 
			
		||||
IGT_LOCAL_CFLAGS += -include "check-ndebug.h" -std=c99
 | 
			
		||||
# FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
 | 
			
		||||
IGT_LOCAL_CFLAGS += -Wno-error=return-type
 | 
			
		||||
# Excessive complaining for established cases. Rely on the Linux version warnings.
 | 
			
		||||
IGT_LOCAL_CFLAGS += -Wno-sign-compare
 | 
			
		||||
 | 
			
		||||
# set local includes
 | 
			
		||||
IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
 | 
			
		||||
IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
 | 
			
		||||
 | 
			
		||||
# set local libraries
 | 
			
		||||
IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
 | 
			
		||||
IGT_LOCAL_SHARED_LIBRARIES := libpciaccess libdrm libdrm_intel
 | 
			
		||||
 | 
			
		||||
# handle cairo requirements if it is enabled
 | 
			
		||||
ifeq ("${ANDROID_HAS_CAIRO}", "1")
 | 
			
		||||
    IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/cairo-1.12.16/src
 | 
			
		||||
    IGT_LOCAL_SHARED_LIBRARIES += libcairo
 | 
			
		||||
    IGT_LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=1
 | 
			
		||||
else
 | 
			
		||||
# the following tests depend on cairo, so skip them
 | 
			
		||||
    skip_tests_list += \
 | 
			
		||||
    kms_plane \
 | 
			
		||||
    testdisplay \
 | 
			
		||||
    kms_addfb \
 | 
			
		||||
    kms_cursor_crc \
 | 
			
		||||
    kms_flip \
 | 
			
		||||
    kms_flip_tiling \
 | 
			
		||||
    kms_pipe_crc_basic \
 | 
			
		||||
    kms_fbc_crc \
 | 
			
		||||
    kms_render \
 | 
			
		||||
    kms_setmode \
 | 
			
		||||
    pm_pc8 \
 | 
			
		||||
    gem_seqno_wrap \
 | 
			
		||||
    gem_render_copy \
 | 
			
		||||
    pm_lpsp
 | 
			
		||||
    IGT_LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=0
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
tests_list := $(filter-out $(skip_tests_list),$(TESTS_progs) $(TESTS_progs_M) $(HANG) $(TESTS_testsuite))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user