Bunch of commits required by Rusticl
I extracted the random changes I made to mesa inside Rusticl, so that those can be reviewed and landed, making the Rusticl MR pretty trivial and only touching new code.
I extracted the random changes I made to mesa inside Rusticl, so that those can be reviewed and landed, making the Rusticl MR pretty trivial and only touching new code.