This series does a lot of refactoring including the series !19 (closed) to enable support for indirect addressing that is needed to fix the piglit fs-interpolateAtSample-block-array and it also closes #74 (closed) with the mesa side patches that enable the emission of input arrays
The updated series is mostly on top of what was before (with the exception of some minor changes that were easy to merge).
I don't see consistent piglit regressions any more (gpu set), neither with the guest sending arrays as input nor without. There are some EGL tests that fail, but the emitted GLSL is always the same in all tested cases.
There might be needed some follow-up patch to properly handle some extensions. Specifically, ARB_enhanced_layouts is not available on GLES, and OES_shader_multisample_interpolation should also be checked and used to set the correct GLSL version, but this is for a later series.