https://bugs.freedesktop.org/show_bug.cgi?id=93301
--- Comment #14 from Marek Olšák maraeo@gmail.com --- No, Hawaii doesn't have DCC.
The issue can indeed be that there is not enough address space. Mesa doesn't unmap most buffers, because mmap is a very costly operation. Such buffers are only unmapped when destroyed. This is obviously a problem on 32-bit. Possible solutions:
1) Always unmap buffers at appropriate places. This can have a significant performance cost in CPU-bound apps.
2) Clear pb_cache on mmap failure and try mmap again.
(pb_cache typically contains staging buffers, which are always mapped. Therefore, pb_cache completely hides allocation, GPU mmap, and CPU mmap overhead, but it also contributes to address space usage.)