0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-10-24 12:14:10 +00:00
Files
termux-packages/packages/mesa/0019-disable-general-layout-in-zink-for-turnip.patch
Robert Kirkman 411745ec37 bump(main/mesa): 25.2.4
- Fixes https://github.com/termux/termux-packages/issues/26526

- Fixes https://github.com/termux/termux-packages/issues/25371

- All patches seemed to only need minor rebasing and no other errors

- Tested working on Samsung Galaxy S9 SM-G960U with Adreno 630

- Add unofficial Adreno 710+720 support found here https://gitlab.freedesktop.org/mesa/mesa/-/issues/13036 and here db9f6d0b31

- After 3294cad341, a new change is required in order to preserve GPU acceleration in the edge case of **EGL+Zink+Turnip+Termux:X11+Adreno 630**. I have named this change `0018-preserve-egl-support-in-zink.patch` and it is an original creation based on my ~2 years of experience developing EGL software for running inside Termux:X11 on Samsung Galaxy S9 SM-G96U with Adreno 630. **Unfortunately, I do not know what the effects of this patch will be on other devices that I do not have, so please tell me ASAP if it appears to break Zink on your device**.

- After 622612f67e, the default behavior of Zink is to enable the "general layout" mode whenever Turnip is detected. In testing in Termux:X11 on Samsung Galaxy A70 SM-A705FN, that change is incorrect and results in severe artifacts in Firefox when Firefox has `gfx.webrender.all=true` and `gfx.x11-egl.force-disabled=true` set in `about:config`, so `0019-disable-general-layout-in-zink-for-turnip.patch` must be created to forcibly stop Zink from enabling "general layout" mode when Turnip is detected.
2025-10-14 11:06:16 -05:00

23 lines
1.1 KiB
Diff

Partially reverts https://gitlab.freedesktop.org/mesa/mesa/-/commit/622612f67ea72298c3d85dfe53c5d54ee9f98527
because that commit causes severe artifacts in Webrender in Firefox in Termux:X11 with GLX enabled and EGL
force-disabled in Zink in Turnip on Adreno devices, while using the about:config settings
gfx.webrender.all=true and gfx.x11-egl.force-disabled=true,
and doing this prevents the artifacts from occurring.
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -3044,10 +3044,12 @@ init_driver_workarounds(struct zink_screen *screen)
case VK_DRIVER_ID_MESA_LLVMPIPE:
case VK_DRIVER_ID_MESA_NVK:
case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
- case VK_DRIVER_ID_MESA_TURNIP:
case VK_DRIVER_ID_QUALCOMM_PROPRIETARY:
screen->driver_workarounds.general_layout = true;
break;
+ case VK_DRIVER_ID_MESA_TURNIP:
+ screen->driver_workarounds.general_layout = false;
+ break;
default:
screen->driver_workarounds.general_layout = screen->info.have_KHR_unified_image_layouts;
break;