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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to