mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-02-11 20:30:53 +00:00
- 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 heredb9f6d0b31- After3294cad341, 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**. - After622612f67e, 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.
20 lines
851 B
Diff
20 lines
851 B
Diff
This reverts https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11714,
|
|
which implements resource_create_front for vtest.
|
|
|
|
It breaks `glxinfo` with `virglrenderer-android`.
|
|
|
|
--- a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
|
|
+++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
|
|
@@ -369,7 +369,11 @@ virgl_vtest_winsys_resource_create(struct virgl_winsys *vws,
|
|
}
|
|
|
|
res->res_handle = new_handle;
|
|
+#ifndef __TERMUX__
|
|
if (map_front_private && res->ptr && res->dt) {
|
|
+#else
|
|
+ if (map_front_private && res->ptr && res->dt && getenv("TERMUX_ENABLE_GLXCOPYSUBBUFFERMESA_FOR_VTEST")) {
|
|
+#endif
|
|
void *dt_map = vtws->sws->displaytarget_map(vtws->sws, res->dt, PIPE_MAP_READ_WRITE);
|
|
uint32_t shm_stride = util_format_get_stride(res->format, res->width);
|
|
util_copy_rect(res->ptr, res->format, shm_stride, 0, 0,
|