During my work with transform feedback some questions arise, but I don't like to start new topic for each of them.. As sated, I'm talking about core 3.0 transform feedback, that should be equal to EXT_transform_feedback
1. Can we transform feedback arrays?
2. Can we transform feedback matrices?
3. Is it good idea to use GL 4.0 transform feedback versions? (ARB_transform_feedback2/3)
4. Is NV extension limited to NVIDIA hardware? for example (NV_transform_feedback)
I'm using NVIDIA hardware with most recent drivers
The context I'm using is v3.2 for GL and v1.5 for GLSL
I'm using transform feedback in separate mode
1. NV extension for transform feedback states: "A valid name cannot be any portion of a single vector or matrix, but can be a single element of an array or the whole array." However I couldn't find anything like that for EXT that has been made core. I could feedback single array index e.g. "var" without problem. Feedbacking whole array "var" resulted in INVALID_OPERATION on glBeginTransformFeedback, but no errors were generated when calling glTransformFeedbackVaryings. Also size returned by glGetTransformFeedbackVarying was correct - the size of array specified in shader. The problem is that any description of INVALID_OPERATION for Begin* does not correspond whit what I'm doing, and I'm 100% sure that it is generated by Begin*.
2. Same problem as first, but I couldn't find ANY way to feedback it because as stated by NV version - name shouldn't be a portion of vector nor matrix. Again INVALID_OPERATION on Begin*, calling glGetTransformFeedbackVarying resulted in correct resolution of varying type and no errors were generated while registering "matrix" for feedback.
3. There are several new TF versions in openGL 4.0. Currently I'm not interested in those as I'm targeting older hardware, but I find it strange. First of all why there should be more than one version? One uniform way to do thing would be much better. Is it possible that all of them become core, or just one should have this opportunity? It seems to me like a development stage when they're testing what is the best way to do it, but ARB_ are already aproved extensions and that's quite confusing then.
4. I couldn't find clear answer to this question, even though it is not necessarily limited to question of TF. I view NV extensions as experimental and as such, I don't think AMD would try to implement them. However, I might be wrong, so I'm asking for clarification.