refactor: build the bridge's 20 patches and point at on-device pipelines

The bridge's fallback patch is gone and the later ones renumbered; the
Turnip build id comment names the persistent Data cache it keeps
valid. Pointers follow AdrenoMetal and Adreno740.
This commit is contained in:
bluseliu50 committed 2026-10-29 19:35:44 +08:00
1 parent 0b3ad36992
commit f19e94bac6
4 files changed
+9 -12

No files matched your search

+6 -9
View File
@@ -43,19 +43,16 @@ PATCHES = [ROOT / 'drivers/AdrenoMetal/bridge/patches' / name for name in [
'0014-in-place-written-textures.patch', '0015-in-place-written-host-page-textures.patch',
# Device::refuse_rebinds: no call logs or per-command holds of no-copy buffers, which only a rebind or a detach reads.
'0016-refuse-rebinds.patch',
# A read-only source of shader-cache entries behind the directory (the pipelines compiled ahead on the host, read on demand from the
# userdata import region): an entry the directory lacks is asked of it, and nothing is copied into the directory.
'0017-shader-cache-fallback-source.patch',
# A heap texture's own-device answer rounded up to a multiple of its alignment, as Metal's answers are: a heap sized as the sum of
# its textures' answers then holds them (iconservicesagent's Core Image heaps ran out: OutOfMemory(Heap)).
'0018-heap-texture-size-a-multiple-of-its-alignment.patch',
'0017-heap-texture-size-a-multiple-of-its-alignment.patch',
# The runtime's live device memory in bytes by kind (pooled, placed, empty kept, dedicated, imported), for the frontend's MEM row.
'0019-memory-census-bytes.patch',
'0018-memory-census-bytes.patch',
# The call stacks that allocated device memory of 4 MiB or more, by bytes, for the frontend's MA rows.
'0020-allocation-sites.patch',
# A written texture over host pages stays in place at any size: Turnip renders a linear host image of partial tile blocks without
# tile memory (patches/mesa/turnip-render-mode-for-attachment-memory.patch); its shadow merged every pass back through 94 MB.
'0021-written-host-page-textures-in-place-at-any-size.patch']]
'0019-allocation-sites.patch',
# A written texture over host pages stays in place at any size: Turnip loads and stores a linear host image of partial tile blocks
# over its texels alone (patches/mesa/turnip-render-mode-for-attachment-memory.patch); its shadow merged every pass back through 94 MB.
'0020-written-host-page-textures-in-place-at-any-size.patch']]
def git_tree(*steps):
+1 -1
View File
@@ -98,7 +98,7 @@ if args.builtin_pack:
options += ['-Dtu-builtin-source-id=' + source_id, '-Dtu-builtin-pack-header=' + pack_header]
# The pipeline cache's identity (VkPhysicalDeviceProperties::pipelineCacheUUID) from the compiler's source alone, the same for every
# target: Mesa's own on Darwin is the library file's mtime (disk_cache_get_function_timestamp), which differs per install and per build,
# so a cache compiled ahead on the host (scripts/make-pipeline-cache.py) would never match the tablet's driver.
# so the pipelines a boot compiled into the persistent Data cache would miss after every image rebuild of the same compiler.
build_id = hashlib.sha256(json.dumps(dict(mesa_revision=pins['mesa']['commit'], source_diff_sha256=profile['source_diff_sha256'],
extra_sources=source_extras), sort_keys=True).encode()).hexdigest()[:40]
options += ['-Dtu-build-id=' + build_id]