android: freedreno: move a2xx disasm out of gallium
authorMauro Rossi <issor.oruam@gmail.com>
Fri, 31 Jul 2020 07:19:56 +0000 (09:19 +0200)
committerMauro Rossi <issor.oruam@gmail.com>
Sun, 2 Aug 2020 19:40:21 +0000 (21:40 +0200)
Fixes the following building errors:

clang: error: no such file or directory: 'external/mesa/src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c'
clang: error: no input files

FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
ld.lld: error: undefined symbol: disasm_a2xx
>>> referenced by ir2_assemble.c:546 (external/mesa/src/gallium/drivers/freedreno/a2xx/ir2_assemble.c:546)
>>>               ir2_assemble.o:(assemble) in archive out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_freedreno_intermediates/libmesa_pipe_freedreno.a
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)

Fixes: f39afda1a7a ("freedreno: move a2xx disasm out of gallium")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6151>

src/freedreno/Android.ir2.mk [new file with mode: 0644]
src/freedreno/Android.mk
src/freedreno/Makefile.sources
src/gallium/drivers/freedreno/Makefile.sources
src/gallium/targets/dri/Android.mk
src/gallium/winsys/freedreno/drm/Android.mk

diff --git a/src/freedreno/Android.ir2.mk b/src/freedreno/Android.ir2.mk
new file mode 100644 (file)
index 0000000..2d0c348
--- /dev/null
@@ -0,0 +1,46 @@
+# Mesa 3-D graphics library
+#
+# Copyright (C)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+# Android.mk for libfreedreno_ir2.a
+
+# ---------------------------------------
+# Build libfreedreno_ir2
+# ---------------------------------------
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+       $(ir2_SOURCES)
+
+LOCAL_MODULE := libfreedreno_ir2
+
+LOCAL_C_INCLUDES := \
+       $(MESA_TOP)/src/gallium/include \
+       $(MESA_TOP)/src/gallium/auxiliary \
+       $(MESA_TOP)/src/freedreno/common
+
+# We need libfreedreno_registers to get xml generated headers
+LOCAL_STATIC_LIBRARIES := \
+       libfreedreno_registers
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
index 84fe2ee..7c3d307 100644 (file)
@@ -27,6 +27,7 @@ LOCAL_PATH := $(call my-dir)
 include $(LOCAL_PATH)/Makefile.sources
 include $(LOCAL_PATH)/Android.common.mk
 include $(LOCAL_PATH)/Android.drm.mk
+include $(LOCAL_PATH)/Android.ir2.mk
 include $(LOCAL_PATH)/Android.ir3.mk
 include $(LOCAL_PATH)/Android.perfcntrs.mk
 include $(LOCAL_PATH)/Android.registers.mk
index 0768667..6334b54 100644 (file)
@@ -20,6 +20,10 @@ drm_SOURCES := \
        drm/freedreno_priv.h \
        drm/msm_ringbuffer.c
 
+ir2_SOURCES := \
+       ir2/disasm-a2xx.c \
+       ir2/instr-a2xx.h
+
 ir3_SOURCES := \
        fdl/fd5_layout.c \
        fdl/fd6_layout.c \
index f758601..a21dbe1 100644 (file)
@@ -40,7 +40,6 @@ C_SOURCES := \
        freedreno_util.h
 
 a2xx_SOURCES := \
-       a2xx/disasm-a2xx.c \
        a2xx/fd2_blend.c \
        a2xx/fd2_blend.h \
        a2xx/fd2_context.c \
index 33cf6a5..7506d82 100644 (file)
@@ -57,6 +57,7 @@ endif
 LOCAL_STATIC_LIBRARIES += \
        libetnaviv_drm \
        libfreedreno_drm \
+       libfreedreno_ir2 \
        libfreedreno_ir3 \
        libfreedreno_perfcntrs \
        libmesa_gallium \
index 09edab3..6695595 100644 (file)
@@ -27,6 +27,9 @@ include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES := $(C_SOURCES)
 
+LOCAL_C_INCLUDES := \
+       $(MESA_TOP)/src/freedreno/common
+
 LOCAL_SHARED_LIBRARIES := libdrm_freedreno
 LOCAL_STATIC_LIBRARIES := libfreedreno_registers