0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-10-22 20:34:07 +00:00
Files
termux-packages/packages/mesa/0017-unofficial_support_adreno_710_720.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

72 lines
2.4 KiB
Diff

Created by, or sourced from, K11MCH1
https://github.com/K11MCH1/freedreno_turnip-CI/commit/db9f6d0b31bbabe3fef22e3682015764cd73eb5e
Adreno 710-only variant also discovered in KreitinnSoftware's repo here:
https://github.com/KreitinnSoftware/MiceWine-RootFS-Generator/commit/6e9d54ab5d280821922c1e8a7a02d84ba1621cbc
Upstream issue:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/13036
--- a/src/freedreno/common/freedreno_devices.py
+++ b/src/freedreno/common/freedreno_devices.py
@@ -1065,6 +1065,42 @@ add_gpus([
raw_magic_regs = a730_raw_magic_regs,
))
+add_gpus([
+ GPUId(chip_id=0x07010000, name="FD710"), # KGSL, no speedbin data
+ GPUId(chip_id=0xffff07010000, name="FD710"), # Default no-speedbin fallback
+ ], A6xxGPUInfo(
+ CHIP.A7XX,
+ [a7xx_base, a7xx_gen1],
+ num_ccu = 4,
+ tile_align_w = 64,
+ tile_align_h = 32,
+ num_vsc_pipes = 32,
+ cs_shared_mem_size = 32 * 1024,
+ wave_granularity = 2,
+ fibers_per_sp = 128 * 2 * 16,
+ highest_bank_bit = 16,
+ magic_regs = a730_magic_regs,
+ raw_magic_regs = a730_raw_magic_regs,
+ ))
+
+add_gpus([
+ GPUId(chip_id=0x43020000, name="FD720"), # KGSL, no speedbin data
+ GPUId(chip_id=0xffff043020000, name="FD720"), # Default no-speedbin fallback
+ ], A6xxGPUInfo(
+ CHIP.A7XX,
+ [a7xx_base, a7xx_gen1],
+ num_ccu = 4,
+ tile_align_w = 64,
+ tile_align_h = 32,
+ num_vsc_pipes = 32,
+ cs_shared_mem_size = 32 * 1024,
+ wave_granularity = 2,
+ fibers_per_sp = 128 * 2 * 16,
+ highest_bank_bit = 16,
+ magic_regs = a730_magic_regs,
+ raw_magic_regs = a730_raw_magic_regs,
+ ))
+
add_gpus([
GPUId(chip_id=0x07030001, name="FD730"), # KGSL, no speedbin data
GPUId(chip_id=0xffff07030001, name="FD730"), # Default no-speedbin fallback
--- a/src/freedreno/drm-shim/freedreno_noop.c
+++ b/src/freedreno/drm-shim/freedreno_noop.c
@@ -237,6 +237,16 @@ static const struct msm_device_info device_infos[] = {
.chip_id = CHIPID(6, 6, 0, 0xff),
.gmem_size = 1024 * 1024 + 512 * 1024,
},
+ {
+ .gpu_id = 710
+ .chip_id = 0x07010000,
+ .gmem_size = 2 * 1024 * 1024,
+ },
+ {
+ .gpu_id = 720
+ .chip_id = 0x43020000,
+ .gmem_size = 2 * 1024 * 1024,
+ },
{
.gpu_id = 730,
.chip_id = 0x07030001,