src/libANGLE/renderer/metal/mtl_pipeline_cache.h


Log

Author Commit Date CI Message
Geoff Lang 75254b98 2023-06-22T15:06:29 Metal: Cache compute pipelines with render pipelines. Support caching of compute pipelines in the same LRU cache as render pipelines in mtl::PipelineCache. Bug: chromium:1329376 Change-Id: I93bbfadb8f5c1461144f1c222362c174402cced1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4628673 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Geoff Lang b46344bb 2023-06-12T13:50:40 Metal: Cache render pipelines at the context level Cache Metal render pipelines in a new mtl::PipelineCache which lives at the context level. This allows us to clean up unused pipelines from programs that are not actively used. The cache limits were chosen based on running Chromium. Without a limit, the total number of pipelines peaks at ~200. With frequent GCs, the active working set usually sits at ~60 pipelines. Bug: chromium:1329376 Change-Id: Ifa83b797c893684294e16dd638f6b3a35e1d043f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608486 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>