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:
1 parent
0b3ad36992
commit
f19e94bac6
4 files changed
+9
-12
No files matched your search
+1
-1
Submodule drivers/Adreno740 updated: 78e9343d2c...77381fa0af.
+1
-1
Submodule drivers/AdrenoMetal updated: dfe4eeb843...d1b8b3372c.
@@ -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):
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in new issue
Block a user