EGL: Refactor multifile blobcache
After more testing, it became apparent that we need to
avoid accessing the filesystem to have decent speed.
This CL does that by:
* Moving the multifile cache to a class
* Tracking all entries in a bookkeeping system
* Remove use of STL for read/write
* Keep recent entries in a hot cache
* Deferring file writes to a worker thread
* Allowing devices to opt in via config
For more data and details on the design philosophy:
go/improving-multifile-blobcache-speed
Also added a new sequence of tests that bypass EGL
and directly invoke the mulfifile cache.
Test: pubg_mobile_launch ANGLE trace
Test: /data/nativetest64/EGL_test/EGL_test
Test: /data/nativetest64/libEGL_test/libEGL_test
Bug: b/266725576
Change-Id: Ia19147522a6f68f05fbe47c1545e4c9d69e513c6
9 files changed