iris: Enable u_threaded_context
This series enables u_threaded_context support in iris, leading to some nice performance improvements:
|Shadow of Mordor||+6%|
|Counter Strike: Global Offensive||+1%|
|Microbenchmark: GfxBench5 gl_driver2||+58%|
|Microbenchmark: SynMark2 OglBatch6||+54%|
The first few patches are from !8922 (merged) (and should be reviewed there). The next set implement the u_threaded_context thread-safety assumptions so that we're following the rules, and allow rebinding of stream output buffer offsets (needed so u_threaded_context can swap out buffer storage on the fly). Then, we modify the driver to inherit from all the threaded base classes. Finally, we implement the last few hooks and add an environment variable. We enable it by default at the end of this series because I believe it's working and ready to go, but that's kept as a separate patch in case we need to postpone that or revert it in case we find any issues.