Skip to content

turnip: Allocate private memory per-layout instead of per-pipeline

Mark Collins requested to merge PixelyIon/mesa:privmem-pool into main

While investigating #7033, we discovered that a substantial amount (several GiB) of private memory was being used by Skyline Emulator as private memory allocations which are allocated on a per-pipeline basis and there were a substantial amount of pipelines with private memory that were never deleted throughout the lifetime of the application.

These private memory allocations are now pooled into a few global BOs instead of a single BO per-pipeline, this reduces the memory footprint of private memory allocations from several GiB to 8 MiB in Skyline Emulator on certain titles which fixes certain crashes from OOMs.

Edited by Mark Collins

Merge request reports