Looking at the scheme of the <surface>-parameter in profile_CG and profile_GLSL, I'm a bit puzzled about how the <generator>-element is intended to work.
I understand it's thought to procedurally create surfaces, which later might be used as sampler, etc.... The element has it's own (and mandatory) <code> or <include>, so shader code is provided.
I guess the shader stage, is implicitly given to use FRAGMENTSTAGE (as there is no way to define such in <generator>-element), and we simply render a quad.
Also, there is no way of binding params to uniformSymbols (like with <bind> in <shader>-element)., and I don't quite understand, why someone would need the possible <setparam>-elements.
My guess so far: it's though to provide very simple procedural textures, which could be generated during some kind of setup-phase, everything that's more complex and dependent of scene-information would use a <shader>-element with a rendertarget set.
Is that right?