mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-07 05:50:29 +01:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
Previously, there were no meson.build rules for the Android portion of gfxstream_vk, since nobody builds gfxstream_vk + Android via the Android NDK. Using Soong (and not the Android NDK) is an absolute requirement, since Android Virtual Devices (AVDs) were amongst to fully transition to Soong over Android makefiles, leading to breath-taking and exhilarating build speeds. The meson build rules that do exist works are designed for gfxstream_vk + Linux. That leads to higher maintainence costs: maintaining hand-written Android.bp files for Android, and meson.build for Linux. Enter meson2hermetic. With this tool, meson.build becomes the source of truth, and Android.bp are generating automatically, reducing maintainence costs. But for this to work, the portion of gfxstream_vk that didn't have meson build rules needs them. This patch does this and there are two things to note: 1) gfxstream_vk + Android needs dependencies that don't have any pkg-config files, and exist only with the AOSP tree. These include things like: - libqemupipe.ranchu - libOpenglCodecCommon - libgralloc_cb.ranchu - renderControlEncoder Most of these dependencies support the Goldfish AVD, and will be deleted over time as the that emulator transitions to virtio-gpu. There are more generic Android deps too, like "android_base". Generic Android dependencies are given the prefix "android-", while Goldfish (a.k.a Android Emulator) is given the prefix "android-aemu-". The ability to use dependencies that don't have a direct Linux-distro style analogue is the one of motivators meson2hermetic. 2) There's a special "gfxstream_emulated_android" case. This is for the GfxstreamEnd2EndTests target, which uses the code defined here: - src/gfxstream/guest/android/ANativeWindowEmulated.cpp - src/gfxstream/guest/android/GrallocEmulated.cpp This is used by Gfxstream Github for CI/CD. Acked-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39279> |
||
|---|---|---|
| .ci-farms | ||
| .ci-farms-disabled | ||
| .github/workflows | ||
| .gitlab | ||
| .gitlab-ci | ||
| .marge/hooks | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| licenses | ||
| src | ||
| subprojects | ||
| .clang-format-ignore | ||
| .clang-format-include | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .graphqlrc.yml | ||
| .mailmap | ||
| .mr-label-maker.yml | ||
| .shellcheckrc | ||
| clippy.toml | ||
| CODEOWNERS | ||
| meson.build | ||
| meson.options | ||
| README.rst | ||
| rustfmt.toml | ||
| VERSION | ||
`Mesa <https://mesa3d.org>`_ - The 3D Graphics Library ====================================================== Source ------ This repository lives at https://gitlab.freedesktop.org/mesa/mesa. Other repositories are likely forks, and code found there is not supported. Build & install --------------- You can find more information in our documentation (`docs/install.rst <https://docs.mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.rst <https://docs.mesa3d.org/meson.html>`_): .. code-block:: sh $ meson setup build $ ninja -C build/ $ sudo ninja -C build/ install Support ------- Many Mesa devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on `OFTC's #dri-devel <irc://irc.oftc.net/dri-devel>`_, someone will redirect you if necessary. Remember that not everyone is in the same timezone as you, so it might take a while before someone qualified sees your question. To figure out who you're talking to, or which nick to ping for your question, check out `Who's Who on IRC <https://dri.freedesktop.org/wiki/WhosWho/>`_. The next best option is to ask your question in an email to the mailing lists: `mesa-dev\@lists.freedesktop.org <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_ Bug reports ----------- If you think something isn't working properly, please file a bug report (`docs/bugs.rst <https://docs.mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.rst <https://docs.mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.