Skip to content

Turnip Adreno 710,720,722 v4.3

Choose a tag to compare

@github-actions github-actions released this 18 Oct 03:13
28e2dc6

Experimental build based on Mesa (main branch).
Not officially supported — do not report issues to Mesa upstream.

Support


Build Information

v4.3 v4.3-exp
Mesa commit d1e369d8a63e 4c12390be306
Vulkan 1.4.363 1.4.363
Android NDK r29 r29
Build date 2026-10-18 2026-10-18

Both builds use Mesa 27.0.0-devel and support Mesa-supported Adreno GPUs, including 6xx, 7xx, and 8xx series. See the Mesa device list.

v4.3 — Standard

  • Synced with the latest Mesa main branch.
  • Patch: 01-u_gralloc-always-use-ubwc-detection.patch — always use the UBWC detection path.

v4.3-exp — Experimental

  • Synced with the latest Mesa main branch.
  • Includes additional experimental patches for Turnip-Z-derived rendering and texture behavior.
  • May deliver up to 1.5× the FPS of standard Turnip in Switch emulators like Eden.

Patches included in this build:

  • 01-u_gralloc-always-use-ubwc-detection.patch — UBWC detection path.
  • 02-tu-lrz-reuse-dont-care-in-sysmem.patch — reuse LRZ state for DONT_CARE depth in sysmem rendering.
  • 20-default-env.py — default Turnip environment variables.
  • 30-tu-z-mutable.py — Turnip-Z-derived mutable-format image handling.
  • 31-tu-z-lrz-rescue.py — Turnip-Z-derived LRZ rescue for in-render-pass depth clears.
  • 32-tu-z-texfast.py — Turnip-Z-derived texture-sampling optimization.
  • 33-tu-z-bgra-swap.py — Turnip-Z-derived BGRA color-swap handling for tiled images.
  • 36-tu-z-sysmem-only.py — Turnip-Z-derived force sysmem rendering, and keep the bin-restore preamble
  • 37-tu-z-bgra-companion.py — Turnip-Z-derived BGRA8 companion changes that go with 33-tu-z-bgra-swap.py

Upstream Freedreno Changes Since 4.2

14 commits under src/freedreno, grouped by commit title.

Turnip (tu) (5)
  • c88b6ebd38 tu: Fix bindless descriptor invalidate sequence
  • 5cf8c6b2fe tu: Don't bail after the first instr when gathering push const range
  • 42d7c33154 tu: Handle ray queries to non-uniform ASs
  • 2588040aaa tu: Slightly better with_crb()
  • e7959c6009 tu: Replace C-style casts with explicit C++ casts
Compiler (ir3) (4)
  • 2755d64a64 ir3: Fix potential out-of-range load_const_ir3 base offset
  • 8f491f606a ir3: Only call nir_opt_shrink_vectors once
  • 48e987b0bc ir3/lower_copies: add validation
  • 6ecb087d52 ir3: add ir3_instr_prev/next helpers
Other (5)

Credits

Patches 30–33 are reimplementations based on analysis of the Turnip-Z v2.0.0 binary by AlexSanz0902: github.com/AlexSanz0902/turnip-sd865-z. The repository is MIT-licensed but does not publish source code; these patches were rewritten for upstream Mesa and were not copied from repository source code.

Notes

  • Graphics issues may still occur depending on the game or emulator.
  • Performance and compatibility vary by device, firmware, emulator version, and game.
  • Recommended memory mode: sysmem (TU_DEBUG=sysmem).
  • Experimental build.

Downloads & SHA-256

File SHA-256
Turnip-710-720-722-v4.3.zip 45ac070f30086cb67bd6f24600199293192c3fa4810c402b25ac185967a3b5e6
Turnip-710-720-722-v4.3-exp.zip 52aa98ed4d1c7703ad5adaa1157cbfba887fbee1ba9aae07402b19305d412165
Turnip-710-720-722-v4.3-exp-fix.zip 325a10f251e2e1fa39f9cc3f87f5efc7319aad8e53395713878164b11bfe9c73