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