Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions packages/mesa/0007-use-mtx_t-operations-in-turnip.patch
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
--- a/src/freedreno/vulkan/tu_shader.cc
+++ b/src/freedreno/vulkan/tu_shader.cc
@@ -1980,10 +1980,10 @@
@@ -2694,10 +2694,10 @@ tu_upload_shader(struct tu_device *dev,
size += vpc_size;
}

Expand All @@ -13,7 +13,7 @@

if (result != VK_SUCCESS)
return result;
@@ -2013,9 +2013,9 @@
@@ -2727,9 +2727,9 @@ tu_upload_shader(struct tu_device *dev,

result = tu_setup_pvtmem(dev, shader, &pvtmem_config, pvtmem_size, per_wave);
if (result != VK_SUCCESS) {
Expand All @@ -25,7 +25,7 @@
return result;
}

@@ -2419,10 +2419,10 @@
@@ -3531,10 +3531,10 @@ tu_empty_shader_create(struct tu_device *dev,
if (!shader)
return VK_ERROR_OUT_OF_HOST_MEMORY;

Expand All @@ -38,9 +38,9 @@

if (result != VK_SUCCESS) {
vk_free(&dev->vk.alloc, shader);
@@ -2528,9 +2528,9 @@
{
@@ -3645,9 +3645,9 @@ tu_shader_destroy(struct tu_device *dev,
tu_cs_finish(&shader->cs);
TU_RMV(resource_destroy, dev, &shader->bo);

- pthread_mutex_lock(&dev->pipeline_mutex);
+ mtx_lock(&dev->pipeline_mutex);
Expand Down
59 changes: 0 additions & 59 deletions packages/mesa/0013-detect-sve-sve2-support.patch

This file was deleted.

74 changes: 0 additions & 74 deletions packages/mesa/0016-unofficial_support_adreno_710_720_722.patch

This file was deleted.

40 changes: 0 additions & 40 deletions packages/mesa/0017-preserve-egl-support-in-zink.patch

This file was deleted.

22 changes: 0 additions & 22 deletions packages/mesa/0018-disable-general-layout-in-zink-for-turnip.patch

This file was deleted.

24 changes: 24 additions & 0 deletions packages/mesa/0022-fix-epoll-header-inclusion.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
diff --git a/src/util/os_file.c b/src/util/os_file.c
index d3d3fb01580..ffffb6d4d06 100644
--- a/src/util/os_file.c
+++ b/src/util/os_file.c
@@ -200,6 +200,10 @@ os_read_file(const char *filename, size_t *size)
return buf;
}

+#if DETECT_OS_LINUX
+#include <sys/epoll.h>
+#endif
+
#if (DETECT_OS_LINUX || DETECT_OS_FREEBSD) && ALLOW_KCMP

#include <sys/syscall.h>
@@ -210,8 +214,6 @@ os_read_file(const char *filename, size_t *size)
#define KCMP_FILE 0
#endif

-#elif DETECT_OS_LINUX
-#include <sys/epoll.h>
#endif

#if DETECT_OS_DRAGONFLY || DETECT_OS_FREEBSD
41 changes: 35 additions & 6 deletions packages/mesa/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ TERMUX_PKG_DESCRIPTION="An open-source implementation of the OpenGL specificatio
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_LICENSE_FILE="docs/license.rst"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="26.2.3"
TERMUX_PKG_SRCURL="https://archive.mesa3d.org/mesa-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=1628058a8d2c0615975de5a15ab7bbb9638c50000b5bed9456ff423ea034a81f
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_VERSION="26.3.0"
TERMUX_PKG_SRCURL=git+https://github.com/lfdevs/mesa-for-android-container.git
TERMUX_PKG_GIT_BRANCH=dev/adreno-main
_COMMIT=98f3d6229d61452cef80f8563af7c56ae599dc14
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_DEPENDS="libandroid-shmem, libc++, libdrm, libglvnd, libllvm (<< $TERMUX_LLVM_NEXT_MAJOR_VERSION), libwayland, libx11, libxext, libxfixes, libxshmfence, libxxf86vm, ncurses, vulkan-loader, zlib, zstd"
TERMUX_PKG_SUGGESTS="mesa-dev"
TERMUX_PKG_BUILD_DEPENDS="libclc, libwayland-cross-scanner, libwayland-protocols, libxrandr, llvm, llvm-tools, mlir, spirv-tools, xorgproto"
Expand All @@ -28,7 +29,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-Dllvm=enabled
-Dshared-llvm=enabled
-Dplatforms=x11,wayland
-Dgallium-drivers=llvmpipe,softpipe,virgl,zink
-Dgallium-rusticl=true
-Dglvnd=enabled
-Dxmlconfig=disabled
Expand Down Expand Up @@ -137,6 +137,14 @@ termux_step_host_build() {
}

termux_step_post_get_source() {
if [ -n "${_COMMIT}" ]; then
# Ensure the requested commit is available when cloning shallow.
if git -C "$TERMUX_PKG_SRCDIR" rev-parse --is-shallow-repository | grep -q true; then
git -C "$TERMUX_PKG_SRCDIR" fetch --unshallow
fi
git -C "$TERMUX_PKG_SRCDIR" checkout "$_COMMIT"
fi

# Do not use meson wrap projects
rm -rf subprojects
}
Expand Down Expand Up @@ -185,19 +193,40 @@ termux_step_pre_configure() {
export PATH="${_WRAPPER_BIN}:${CARGO_HOME}/bin:${HOSTBUILD_ROOTFS}/usr/bin:${PATH}"
export LD_LIBRARY_PATH="${HOSTBUILD_ROOTFS}/usr/lib/x86_64-linux-gnu"

local _vk_drivers="swrast,virtio"
local _vk_drivers="swrast"
local _opengl_drivers="llvmpipe,softpipe,virgl,zink"
if [ $TERMUX_ARCH = "arm" ] || [ $TERMUX_ARCH = "aarch64" ]; then
_vk_drivers+=",freedreno"
_opengl_drivers+=",freedreno"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -Dfreedreno-kmds=msm,kgsl"
fi
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -Dvulkan-drivers=$_vk_drivers"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -Dgallium-drivers=$_opengl_drivers"
}

termux_step_post_configure() {
rm -f "$_WRAPPER_BIN/cmake"
}

termux_step_post_make_install() {
# Avoid hard links
local f1
for f1 in $TERMUX_PREFIX/lib/dri/*; do
if [ ! -f "${f1}" ]; then
continue
fi
local f2
for f2 in $TERMUX_PREFIX/lib/dri/*; do
if [ -f "${f2}" ] && [ "${f1}" != "${f2}" ]; then
local s1=$(stat -c "%i" "${f1}")
local s2=$(stat -c "%i" "${f2}")
if [ "${s1}" = "${s2}" ]; then
ln -sfr "${f1}" "${f2}"
fi
fi
done
done

# Create symlinks
ln -sf libEGL_mesa.so "${TERMUX_PREFIX}/lib/libEGL_mesa.so.0"
ln -sf libGLX_mesa.so "${TERMUX_PREFIX}/lib/libGLX_mesa.so.0"
Expand Down
7 changes: 0 additions & 7 deletions packages/mesa/mesa-vulkan-icd-virtio.subpackage.sh

This file was deleted.