Rework IO emission to use strbuf, and factor out IO src/dest emission
- Extend the strbuf to be able to re-use a predefined char array
- use strbuf to write dest IO
- factor out writing the IO src and dest strings
- replace emitting enhanced layouts for IO ranges that overlap, but use different components, instead use one array for all IO that uses the same interpolation specifier and all IO in there With that we can also enable ARB_extended_layouts when running on GLES hosts.
Since there is now probably some more code that can be simplified or even removed, I'm thinking about doing some more cleanup work in another MR.
Edited by Gert Wollny