Tessellation Control and Evaluation shaders are implementing tessellation and require special handling of their inputs and outputs.
TCS can write out not only per-vertex, but also per-patch (per-primitive) attributes and tessellation factor values that control the tessellator.
TES can read TCS outputs, plus must be feeded with new system values (tessellation coordinates) that are outputs of the tessellator fixed function.
TCS can also contain calls to barrier() function (similar to compute shaders).
Code handling emitting stores is slightly refactored to make it more modular.
There are no regressions in testing. Changes in SWR enabling tessellation will follow in separate patches.
I realize this one is quite big, but I believe it's best to submit it as a single patch to make it easier to follow the idea.