diff --git a/drivers/Adreno740 b/drivers/Adreno740 index 78e9343..77381fa 160000 --- a/drivers/Adreno740 +++ b/drivers/Adreno740 @@ -1 +1 @@ -Subproject commit 78e9343d2cd4e3733c199b5448e767e384dc3a6d +Subproject commit 77381fa0af3ea4c26070bc3090e1135dfbd7b188 diff --git a/drivers/AdrenoMetal b/drivers/AdrenoMetal index dfe4eeb..d1b8b33 160000 --- a/drivers/AdrenoMetal +++ b/drivers/AdrenoMetal @@ -1 +1 @@ -Subproject commit dfe4eeb843270754eaaf205780414955db54d439 +Subproject commit d1b8b3372c1fe886a6834361b5b4cb286b7222b4 diff --git a/scripts/build-adreno-metal-bridge.py b/scripts/build-adreno-metal-bridge.py index 05944b2..f8f9343 100644 --- a/scripts/build-adreno-metal-bridge.py +++ b/scripts/build-adreno-metal-bridge.py @@ -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): diff --git a/scripts/build-turnip-darwin.py b/scripts/build-turnip-darwin.py index d1620b2..e3eca9c 100644 --- a/scripts/build-turnip-darwin.py +++ b/scripts/build-turnip-darwin.py @@ -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]