ATI slowdown when only using custom vertex attributes

If I only use custom vertex attributes in my shader (eg. I use attribute vec3 position, instead of gl_Vertex), then rendering slows down to a crawl. I’m using the latest (5.5) Catalyst drivers. I pasted in a simple example below:

uniform mat4 mvp;
attribute vec3 position;

void main() {
gl_Position = gl_Vertex; // without this line, it becomes a slideshow
gl_Position = mvp * vec4(position, 1.0);

It’s running fine on nVidia HW without using gl_Vertex. Well, for one thing, if they had even the most basic optimizations in the GLSL compiler, then the first line should just disappear altogether…

BTW: How can I send bug reports to ATI? I tried to register with them about two weeks ago, but haven’t heard back from then yet (same goes for nVidia btw)… How long does it take for them to process my application? Why does it take so long??

This ATI bug does just not seem to go away. It has been mentioned many times on this forum going back to ARBVP days…

While we are at the drivers issue: Any news on when nVidia will provide us with proper GL2.0 drivers? I’m mostly thinking about the new shader entry points. It’s funny that all the functionality is there, yet they are only exposed through the old interface (eg. glCreateShaderObjectARB instead of glCreateShader) Why is this? Is it that hard, to put in the new entry points?

I feel like developing to specific video cards. nVidia works and is fully packed with extras, but they don’t expose new entrypoints, while ATI do expose them, but they actually have less features and more bugs…

I just got a terrible feeling… with all the next gen FPS games moving to the consoles, ATI and nVidia shipping for Sony and Microsoft, I fear that PC will get less and less support!

I can’t reproduce this problem. It’s running at full speed for me. There must be some other state enabled or something that’s causing it. Are you setting up your attributes correctly with glBindAttribLocationARB() btw?

Hmm, this is interesting. So you are not calling glVertexPointer, nor glEnableClientState, and do not use any built in attribtutes, and it’s fast?

Yes, I’m setting up the attributes correctly, at least I assume I do, because I have more complicated shaders with multiple custom vertex attributes, and they seem to work perfectly (as long as I use the built in gl_Vertex attribute too).

Hmm, I have no clue what this could be. BTW this happens on both X800 and R9700 with Catalyst 5.5.

I will try reproducing the effect with a simple program, although I’m pretty busy at the moment…

Or even better, could you send me your test program, so I can see if it works full speed on my setup??

Sorry for the cross post, but I have a similiar problem on X800 hardware described here: other discussion thread . No output is produced at all if I only use generic attributes… :confused:

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.