vc4: Add a userspace BO cache.
authorEric Anholt <eric@anholt.net>
Sat, 13 Dec 2014 23:27:39 +0000 (15:27 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 18 Dec 2014 00:07:01 +0000 (16:07 -0800)
commit06890c444a893a96b6ec1cfb36f77915ec9acda8
tree779fd6b1c624a69cbebae7ad4ab118d29889015a
parent39bc9360116e1c944c1d0d04f67a6ec5f010371f
vc4: Add a userspace BO cache.

Since our kernel BOs require CMA allocation, and the use of them requires
new mmaps, it's pretty expensive and we should avoid it if possible.
Copying my original design for Intel, make a userspace cache that reuses
BOs that haven't been shared to other processes but frees BOs that have
sat in the cache for over a second.

Improves glxgears framerate on RPi by around 30%.
src/gallium/drivers/vc4/vc4_bufmgr.c
src/gallium/drivers/vc4/vc4_bufmgr.h
src/gallium/drivers/vc4/vc4_screen.c
src/gallium/drivers/vc4/vc4_screen.h