android: freedreno: Add GPU tracepoints
authorMauro Rossi <issor.oruam@gmail.com>
Sat, 5 Dec 2020 19:58:47 +0000 (20:58 +0100)
committerMarge Bot <eric+marge@anholt.net>
Mon, 7 Dec 2020 13:10:32 +0000 (13:10 +0000)
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 <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7942>

src/gallium/drivers/freedreno/Android.mk
src/gallium/drivers/freedreno/Makefile.sources

index 2b27556..86db01a 100644 (file)
@@ -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)
 
index a21dbe1..98bdad0 100644 (file)
@@ -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 \