I have used transform feedback to store results of some computationally more demanding shaders and draw them in later updates. It works fine on my desktop Quadro FX 3800, but doesn’t on my notebook GeForce 9300M. Problem seems to be related to glDrawTransformFeedback call, because when I replace this call by corresponding glDrawArrays, everything work as it should. Also the GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN query returns correct value and buffer object contains valid data. So it seems to me like some driver issue with glDrawTransformFeedback. (Maybe the number of primitives to be drawn is not correctly set???)
Here are configurations of my computers:
- desktop (working)
Suse 11.2 x86_64, X.Org version: 1.6.5, NVidia driver 256.53
some glGetStrings:
Renderer: Quadro FX 3800/PCI/SSE2
Version: 3.3.0 NVIDIA 256.53
Shading language version: 3.30 NVIDIA via Cg compiler
- notebook (not working):
Suse 11.3 x86_64, X.Org version: 1.8.0, NVidia driver 256.53
some glGetStrings:
Renderer: GeForce 9300M GS/PCI/SSE2
Version: 3.3.0 NVIDIA 256.53
Shading language version: 3.30 NVIDIA via Cg compiler
If it will be usefull, I can post relevant fragments of sources too.
Thanks for any advice.