[Mesa-dev] [PATCH 00/14] AMD winsys cleanups, heaps, suballocation for textures
Marek Olšák
maraeo at gmail.com
Thu Jun 29 19:47:35 UTC 2017
Hi,
This is mainly a cleanup series.
RADEON_FLAG_CPU_ACCESS(_REQUIRED) is no longer used. CPU access can
only be disallowed from now on, but it can't be enforced. See amd-gfx
for more discussion.
If we stay conservative, we only need 5 memory heaps, including the
VRAM_GTT heap, which isn't used with the current kernel driver.
The series defines 5 heaps and a bijective mapping between heaps and
(domain, flags) combinations. The list of heaps:
- VRAM_NO_CPU_ACCESS, VRAM, VRAM_GTT, GTT_WC, GTT
Those map nicely to pb_slab heaps, pb_cache usage flags, and pb_cache
buckets. No crazy playing with bits needed.
Finally, there are 3 changes to our suballocation code:
- suballocations are allowed for VRAM with no CPU access
- suballocations are allowed for textures
- the slab size increased to 128 KB with at most 64 KB suballocations;
in the future, we might increase the slab size to 2 MB.
Here's a comparison of BO list sizes using a Borderlands 2 trace with
various suballocation changes. Note that the gameplay portion is the
hilly part on the far right!
https://people.freedesktop.org/~mareko/suballoc.svg
Please review.
Thanks,
Marek
More information about the mesa-dev
mailing list