mesa (vbo, disk cache) + radeonsi: do less work at startup time
This MR is to avoid/defer some work rather than doing it at startup time.
The 1st commit defers creating + mapping the vbo buffer until the first glVertex or similar function is called. These features are rarely used so IMHO this makes sense.
The 2nd commit defers creating + initializing sample_pos_buffer
for radeonsi
until first use.
The last patches were written to fix a perf bug in disk cache which actually doesn't exist. But I still think it makes sense to not always create 4 threads for the disk cache and instead scale the number of threads if the work queue is growing.