From cbcac6b2fb5dbe37cb517068c4a0ddd8bea39e37 Mon Sep 17 00:00:00 2001 From: Mauro Rossi Date: Sat, 5 Dec 2020 20:58:47 +0100 Subject: [PATCH] android: freedreno: Add GPU tracepoints Changelog: - add freedreno_tracepoints.c.{c,h} gen rules for Android $(MESA_PYTHON3) - update Makefile.sources with the required generated sources Fixes the following building errors: external/mesa/src/gallium/drivers/freedreno/freedreno_gmem.c:35:10: fatal error: 'u_tracepoints.h' file not found ^~~~~~~~~~~~~~~~~ 1 error generated. FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so ... ld.lld: error: undefined symbol: __trace_end_clear_restore >>> referenced by freedreno_tracepoints.h:38 (out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_freedreno_intermediates/ freedreno_tracepoints.h:38) ... ld.lld: error: undefined symbol: __trace_start_vsc_overflow_test >>> referenced by freedreno_tracepoints.h:272 (out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_freedreno_intermediates /freedreno_tracepoints.h:272) ld.lld: error: too many errors emitted, stopping now Fixes: a02dcb970fff ("freedreno: Add GPU tracepoints") Acked-by: Rob Clark Part-of: --- src/gallium/drivers/freedreno/Android.mk | 21 ++++++++++++++++++- .../drivers/freedreno/Makefile.sources | 4 ++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/freedreno/Android.mk b/src/gallium/drivers/freedreno/Android.mk index 2b27556e3d0..86db01a5959 100644 --- a/src/gallium/drivers/freedreno/Android.mk +++ b/src/gallium/drivers/freedreno/Android.mk @@ -40,7 +40,8 @@ LOCAL_SRC_FILES := \ LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/ir3 \ $(MESA_TOP)/include \ - $(MESA_TOP)/src/freedreno/common + $(MESA_TOP)/src/freedreno/common \ + $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_gallium,,)/util LOCAL_GENERATED_SOURCES := $(MESA_GEN_NIR_H) @@ -48,6 +49,24 @@ LOCAL_SHARED_LIBRARIES := libdrm libsync LOCAL_STATIC_LIBRARIES := libmesa_glsl libmesa_nir libfreedreno_drm libfreedreno_ir3 libfreedreno_perfcntrs libfreedreno_registers LOCAL_MODULE := libmesa_pipe_freedreno +LOCAL_MODULE_CLASS := STATIC_LIBRARIES + +intermediates := $(call local-generated-sources-dir) + +LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, $(GENERATED_SOURCES)) + +freedreno_tracepoints_deps := \ + $(MESA_TOP)/src/gallium/drivers/freedreno/freedreno_tracepoints.py \ + $(MESA_TOP)/src/gallium/auxiliary/util/u_trace.py + +freedreno_tracepoints_c := $(intermediates)/freedreno_tracepoints.c +freedreno_tracepoints_h := $(intermediates)/freedreno_tracepoints.h + +$(intermediates)/freedreno_tracepoints.c \ +$(intermediates)/freedreno_tracepoints.h: $(freedreno_tracepoints_deps) + @mkdir -p $(dir $@) + $(hide) $(MESA_PYTHON3) $< -p $(MESA_TOP)/src/gallium/auxiliary/util -C $(freedreno_tracepoints_c) -H $(freedreno_tracepoints_h) + include $(GALLIUM_COMMON_MK) include $(BUILD_STATIC_LIBRARY) diff --git a/src/gallium/drivers/freedreno/Makefile.sources b/src/gallium/drivers/freedreno/Makefile.sources index a21dbe1f520..98bdad03843 100644 --- a/src/gallium/drivers/freedreno/Makefile.sources +++ b/src/gallium/drivers/freedreno/Makefile.sources @@ -39,6 +39,10 @@ C_SOURCES := \ freedreno_util.c \ freedreno_util.h +GENERATED_SOURCES := \ + freedreno_tracepoints.c \ + freedreno_tracepoints.h + a2xx_SOURCES := \ a2xx/fd2_blend.c \ a2xx/fd2_blend.h \