summaryrefslogtreecommitdiff
path: root/android
AgeCommit message (Collapse)AuthorFilesLines
2023-11-06Android.mk: disable android-libbacktrace to build with Android 14Mauro Rossi2-2/+3
Android libbacktrace is not available in Android 14 Fixes the following build error: FAILED: src/util/libmesa_util.a.p/u_debug_stack_android.cpp.o ... ../src/util/u_debug_stack_android.cpp:28:10: fatal error: 'backtrace/Backtrace.h' file not found ^~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. Cc: mesa-stable Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25963> (cherry picked from commit 95ad0c750c5891dab3a678f26a74c95edfed87c9)
2023-11-06Android.mk: filter out cflags to build with Android 14 bundled clangMauro Rossi1-1/+3
Android 14 uses prebuild clang version 17.0.2 By filtering these cflags there are no building errors on previous Android releases. Fixes the following building errors: ../src/c11/time.h:54:8: error: redefinition of 'timespec' struct timespec ^ /media/bigblissdrive/u-x86/out/soong/.intermediates/bionic/libc/libc/android_vendor.34_x86_x86_64_shared/gen/include/bits/timespec.h:46:8: note: previous definition is here struct timespec { ^ 1 error generated. In file included from ../src/util/disk_cache.c:50: ../src/util/disk_cache.h:86:4: error: use of undeclared identifier 'Dl_info' Dl_info info; ^ ... ./src/util/disk_cache.h:114:30: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'const void *' [-Wint-conversion] _mesa_sha1_update(ctx, build_id_data(note), build_id_length(note)); ^~~~~~~~~~~~~~~~~~~ 10 errors generated. ../src/intel/perf/intel_perf.c:91:10: error: call to undeclared function 'major'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] maj = major(sb.st_rdev); ^ ../src/intel/perf/intel_perf.c:92:10: error: call to undeclared function 'minor'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] min = minor(sb.st_rdev); ^ 2 errors generated. ../src/intel/vulkan/anv_allocator.c:295:13: error: call to undeclared function 'futex_wake'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] futex_wake(&table->state.end, INT_MAX); ^ ... ../src/intel/vulkan/anv_allocator.c:711:7: error: call to undeclared function 'futex_wait'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] futex_wait(&pool->block.end, block.end, NULL); ^ 6 errors generated. Cc: mesa-stable Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25963> (cherry picked from commit 520e79a3b5841db034d6d962870432d21fd0989c)
2023-09-15Android.mk: Only link LLVM for radeonsi, not amd_vkSamuel Holland1-1/+4
When building for Android, avoid the LLVM dependency if possible. Cc: mesa-stable Acked-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Change-Id: Idda03f954b4b5326e23a848e541411b60fcef063 Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
2023-09-15Android.mk: Explicitly enable/disable LLVM supportSamuel Holland1-0/+1
The AMD Vulkan driver uses LLVM by default, but it is possible to build the driver without the LLVM dependency. In this case, we must explicitly disable LLVM support, or else meson will die after failing to find LLVM. The Android build system already knows when to link libLLVM, so forward that information to meson. Cc: mesa-stable Acked-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Change-Id: I7489d3811625b390aaaf2e84e666b4a8d98328b0 Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
2023-09-15Android.mk: Allow building only Vulkan driversSamuel Holland2-2/+4
Android bundles ANGLE for implementing OpenGL ES and EGL on top of Vulkan. When using ANGLE, mesa is only needed for its Vulkan drivers. Cc: mesa-stable Acked-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Change-Id: I034a0af52f9216bc5f1322f584bc591c90222327 Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
2023-05-03meson/ci: promote virtio-experimental to virtioYiwei Zhang1-1/+1
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547>
2022-11-29AOSP: Add intel_hasvk vulkan library suffixMauro Rossi1-0/+1
Required to correctly install vulkan.intel_hasvk.so module after commit 50013ca9 ("intel: add a hasvk vulkan driver") In order to set property ro.hardware.vulkan as 'intel_hasvk' for the correct iGPU parts at init stage, i915 'graphics version' can only be detected by means of /sys/kernel/debug/dri/0/i915_capabilities and debugfs needs to be mounted at early-init stage https://review.lineageos.org/c/LineageOS/android_device_lge_g3-common/+/19875 Cc: "22.3" mesa-stable Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Tapani Pälli <tapani.palli@intel.com> Tested-by: Mauro Rossi <issor.oruam@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20048>
2022-11-07Android.mk: Fix gnu++14 related build failuresMauro Rossi1-1/+1
This patch filters-out '-std=gnu++14' from the cflags obtained from AOSP/KATI dummy target output to avoid the following building errors: FAILED: src/gallium/drivers/r600/45f68e3@@r600@sta/sfn_sfn_assembler.cpp.o ... clang++ ... -std=c++17 ... -std=gnu++14 ... In file included from ../src/gallium/drivers/r600/sfn/sfn_assembler.cpp:27: In file included from ../src/gallium/drivers/r600/sfn/sfn_assembler.h:32: In file included from ../src/gallium/drivers/r600/sfn/sfn_shader.h:31: ../src/gallium/drivers/r600/sfn/sfn_instr.h:369:56: error: no template named 'is_base_of_v' in namespace 'std'; did you mean 'is_base_of'? template <typename T, typename = std::enable_if_t<std::is_base_of_v<Instr, T>>> ~~~~~^~~~~~~~~~~~ is_base_of /home/utente/pie-x86_kernel/external/libcxx/include/type_traits:1412:29: note: 'is_base_of' declared here struct _LIBCPP_TEMPLATE_VIS is_base_of ^ In file included from ../src/gallium/drivers/r600/sfn/sfn_assembler.cpp:27: In file included from ../src/gallium/drivers/r600/sfn/sfn_assembler.h:32: In file included from ../src/gallium/drivers/r600/sfn/sfn_shader.h:31: ../src/gallium/drivers/r600/sfn/sfn_instr.h:369:51: error: template argument for non-type template parameter must be an expression template <typename T, typename = std::enable_if_t<std::is_base_of_v<Instr, T>>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/utente/pie-x86_kernel/external/libcxx/include/type_traits:439:16: note: template parameter is declared here template <bool _Bp, class _Tp = void> using enable_if_t = typename enable_if<_Bp, _Tp>::type; ^ 2 errors generated. Cc: "22.2" "22.3" mesa-stable Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19563>
2022-11-02android: -Ddri-drivers= is not needed anymoreYonggang Luo1-1/+0
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19462>
2022-09-12Android: Use libgbm_mesa name for SDK30+Roman Stratiienko2-2/+8
libgbm.so name has been occupied in AOSP by minigbm starting from Android-11 (SDKv30). In AOSP's mesa3d fork, libgbm was renamed to libgbm_mesa. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18533>
2022-09-05Android.mk: Provide a custom entry name to ensure meson checks succeedAlessandro Astone1-0/+1
When meson tests for the compability of some linker flags, not having the default entry symbol "_start" defined makes the check fail for a warning unrelated to the linker flag meson is testing. Since these tests normally just try to compile a C program with a main, use "main" as the ficticious entry point. Specifically, this makes "-Wl,--build-id=sha1" recognised as valid and allows its use for drivers that rely on it. This is a temporary workaround that is required until Android.mk is changed to support both shared libraries and executables. Cc: "22.0" "22.1" "22.2" mesa-stable Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17715>
2022-09-05Android.mk: Filter out --build-id=md5 linker flagAlessandro Astone1-1/+2
To avoid conflicts with meson-generated --build-id linker option Cc: "22.0" "22.1" "22.2" mesa-stable Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17715>
2022-08-12Android.mk: Disable lmsensorsAlessandro Astone1-0/+1
Meson might incorrectly enable sensors if it detects lmsensors on the host system. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6805 Cc: "22.0" "22.1" "22.2" mesa-stable Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17391>
2022-06-26Android.mk: Intermediate output paths may already be absoluteAlessandro Astone1-18/+33
That is the case when OUT_DIR_COMMON_BASE is set. Only prefix paths with AOSP_ABSOLUTE_PATH if they're relative. Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674>
2022-06-26Android.mk: Generate the dummy source in local-generated-sources-dirAlessandro Astone1-4/+5
A source file cannot be otherwise referenced by absolute path. That happens when OUT_DIR_COMMON_BASE is set. Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674>
2022-06-26Android.mk: Make mesa3d-lib work with absolute path meson outputsAlessandro Astone1-6/+17
LOCAL_PREBUILT_MODULE_FILE is the only variable that allows specifying the absolute path to a prebuilt. That happens when OUT_DIR_COMMON_BASE is set. Since it does not have multilib variants, define two separate libraries for multilib Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674>
2022-06-26Android.mk: Cleanup mesa3d-libAlessandro Astone1-8/+11
Properly cleanup variables before declaring a library. Explicitly require library dependencies. Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674>
2022-06-17Android.mk: Fix c11-related build failuresRoman Stratiienko1-4/+2
When building with Android.mk we are ending-up with: gcc ..... -std=gnu99 .... -std=c11 .... target.o ^^^^^^^^^^ ^^^^^^^^ | | _______________^_____ _____^___________ AOSP/KATI GENERATED MESON GENERATED Some compilers uses first -std=gnu99 option and ignores second, which results: c99 implicit declaration of function static_assert() This patch filters-out the first '-std=gnu99' from the cflags obtained from AOSP/KATI dummy target output to avoid such kind of errors. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Reviewed-by: Mauro Rossi <issor.oruam@gmail.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17078>
2021-12-06gallium/swr: Remove common code and build optionsJan Zielinski2-5/+2
This commit removes all OpenSWR references from common Mesa code and build system. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11264>
2021-11-30android: define cpp_rtti=false because libLLVM is built w/o RTTI (v2)Mauro Rossi1-0/+1
libLLVM for Android is built without RTTI, but after commit ad86267 mesa inherits meson default RTTI enabled state. cpp_rtti=false is added to meson options in android/mesa3d_cross.mk (v2) Add Fixes tag and use spaces instead of tabs for aligning the trailing \ Signed-off-by: Mauro Rossi <issor.oruam@gmail.com> Fixes: ad862674 ("meson: Don't override built-in cpp_rtti option, error if it's invalid") Cc: "21.3" "21.2" mesa-stable Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13901>
2021-11-30Revert "android: define cpp_rtti=false because libLLVM is built w/o RTTI"Mauro Rossi1-1/+0
This reverts commit f659d00000a1a3667f9861d01d5828dd12ec6857. The revert is done because essential Fixes tag was missing and to apply a better version that could be picked for mesa-stable. Acked-by: Marijn Suijten <marijn.suijten@somainline.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13901>
2021-11-23android.mk: Add missing variables to the make targetRoman Stratiienko1-1/+5
Android build system may use different internal variables to specify cflags/cppflags. Small change in product confguration may force Android to use diffrent set of variables, therefore we should keep all of them attached to the make rule's target. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5549 Fixes: 8621bd8d5e67 ("android: Add scripts to build using meson") Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Acked-by: Jesse Natalie <jenatali@microsoft.com> Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13914>
2021-11-20android: define cpp_rtti=false because libLLVM is built w/o RTTIMauro Rossi1-0/+1
libLLVM for Android is built without RTTI, but after commit ad86267 mesa inherits meson default RTTI enabled state cpp_rtti=false is added to meson options in android/mesa3d_cross.mk Signed-off-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13888>
2021-11-19android: Allow forcing softpipeJesse Natalie1-0/+2
When dealing with swrast, there's two possibilities: If you have LLVM, you get llvmpipe, which is pretty fast. If you don't, you get softpipe, which is slow, but does have a couple nice qualities, like being smaller and not needing executable memory for JIT. If you're building a driver that requires LLVM like radeonsi then you need the LLVM stub for the build to find LLVM. But for swrast, since it can mean either softpipe/llvmpipe, you don't strictly need LLVM. So this just makes the Android build files flexible like the Meson build files (where you can specify -Dllvm=disabled even if LLVM is findable). Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13532>
2021-11-19android,d3d12: Support using DirectX-Headers dependency from AOSPJesse Natalie1-0/+6
Note that the Android build system apparently lowercases stuff, so add a lowercase "directx-headers" dependency which is searched first, before falling back to the proper-cased "DirectX-Headers" dependency. Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13532>
2021-11-19android: Add a BOARD CFlags option so build can be customizedJesse Natalie1-0/+1
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13532>
2021-08-16AOSP: Add panfrost vulkan library suffixRoman Stratiienko1-0/+1
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12304>
2021-08-16AOSP: Update timestamps of target binariesRoman Stratiienko1-2/+4
Fixes warning during the build and unnecessary rule execution: *** ninja: Missing `restat`? An output file is older than the most recent input: *** Fixes: 8621bd8d5e67 ("android: Add scripts to build using meson") Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Tested-by: Mauro Rossi <issor.oruam@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12304>
2021-08-16AOSP: Upgrade libLLVM dependency to v12Roman Stratiienko1-2/+2
Now LLVMv12 seems to be stable enough, so we can upgrade to it. Version adapted for AOSP can be found here [1] [1]: https://github.com/maurossi/llvm-project/tree/release_12.x Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Tested-by: Mauro Rossi <issor.oruam@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12304>
2021-08-16AOSP: Extract version from libdrm instead of hardcoding it.Roman Stratiienko1-5/+7
mesa3d require up-to-date version of libdrm. Hardcoding it to 2.4.105 is wrong. Fixes: 8621bd8d5e67 ("android: Add scripts to build using meson") Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Tested-by: Mauro Rossi <issor.oruam@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12304>
2021-07-09android: Restore android/Android.mkJason Ekstrand1-0/+154
It was accidentally dropped as part of d4b482d378e3 but it's the one Android makefile we want to keep. Fixes: d4b482d378e3 "android: Drop the Android.mk build system" Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11798>
2021-07-08android: Drop the Android.mk build systemJason Ekstrand1-154/+0
Android.mk files haven't really been supported by Mesa devs for a long time. Most of us have been willing to update Makefile.sources if we remember and sometimes we try to blind code some Android.mk for a new generator. However, the reality is that it breaks regularly and ends up being maintained by the Android community. To address this problem another approach was implemented in !10183 utilizing the maintained meson build system. The old Android.mk files are no longer required. This commit was created with the following commands: git rm **/Android.mk git rm **/Android.*.mk git rm **/Makefile.sources git rm CleanSpec.mk Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4487 Acked-by: Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9728>
2021-07-07AOSP: Do not add '-Wl,--gc-sections' to the linker argumentsRoman Stratiienko1-2/+3
With '-Wl,--gc-sections' meson.build cc.has_function() will never fail, providing wrong input to the build system. Fixes: 8621bd8d5e67 ("android: Add scripts to build using meson") Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Tested-by: Mauro Rossi <issor.oruam@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11637>
2021-06-30egl: android: add IMapper@4 metadata API buffer_info getterRoman Stratiienko1-0/+10
Starting from Android-11 Google introduces generalized API to access buffer information. This API is a part of IMapper@4 HAL. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6045>
2021-06-07android: Add scripts to build using mesonRoman Stratiienko2-0/+437
How to use: - For GALLIUM drivers: 1. Add gallium drivers into your board.mk file: board.mk: BOARD_MESA3D_USES_MESON_BUILD := true BOARD_MESA3D_GALLIUM_DRIVERS := lima panfrost v3d 2. Add the following packages into your device.mk file: device.mk: PRODUCT_PACKAGES += \ libEGL_mesa \ libGLESv1_CM_mesa \ libGLESv2_mesa \ libgallium_dri \ libglapi - For VULKAN drivers: 1. Add single vulkan driver into your board.mk file: board.mk: BOARD_MESA3D_USES_MESON_BUILD := true BOARD_MESA3D_VULKAN_DRIVERS := freedreno broadcom 2. Add the following package configuration into your device.mk file: device.mk: PRODUCT_PACKAGES += \ vulkan.freedreno PRODUCT_PROPERTY_OVERRIDES += \ ro.hardware.vulkan=freedreno - To build 'libgbm' set definition in the board.mk: BOARD_MESA3D_BUILD_LIBGBM := true And add a package to the device.mk: PRODUCT_PACKAGES += libgbm Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Tested-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10183>