PDA

View Full Version : problems with Quadro and 2D OpenGL/GLUT


mpastor
08-25-03, 06:05 AM
I developed a rather simple 2D OpenGL app using GLUT. It worked fine so far with different configurations and nvidia drivers. However, when I tested in a nVidia Quadro FX 500 (Dell precision 360), the window appear initially black. Only when I click on top of the window or I force the refresh by hidding the window or resizing it the content is shown. Moreover, when the content includes some stroked text, the content is never shown and the screen remains black.

Has somebody found this behaviour before?

This is strictly restricted to Quaddro boards. The same software works fine in Gforce Ti2800, GForce MX400, MX440, FX5200, etc...

I tried different nvidia drivers, OS (RH 7.1 and 9.0. I have also recompiled the app with latest versions of GLUT, etc... in all instances the software works fine with GForce and fails with Quadro

Help!!!!

Thanks in advance

Manuel Pastor

mpastor
08-26-03, 05:16 AM
I think I found the problem. The app uses call lists. If I use

glNewList(SCENARY_OBJECT, GL_COMPILE_AND_EXECUTE);
...etc

It doesn't work, but if I replace this with

glNewList(SCENARY_OBJECT, GL_COMPILE);
...etc
glCallList(SCENARY_OBJECT)

It works.

The problem only apears in Quadro cards.

Amazing! I just hope this problem was fixed in next releases of nvidia drivers (not a criticism, the drivers are great!!!)

If I am missing something or you think I'm wrong please let me know

Regards,

Manuel Pastor

qnc
09-09-03, 08:10 AM
Lucky you :-)
I've got the same problem: A FX500, Suse8.0 and the newest NVidia-drivers. All my OpenGL-stuff runs fine with this card except of one.
This one app starts fine but randomly there only appears the first picture drawn or an empty picture (you can see the background behind the app) is shown. There is no problem on GeForce GPU's and SGI's. The error only appears on Quadro GPU's. The app draws about 8 pictures and then hangs in /usr/lib/libGLcore.so.1 in __nvsym14707.

Thought it would be the same solution for me because I also use call lists but I already load them with the GL_COMPILE option. How did you figure out that the call-lists are your problem?

Thanks for any help!

Qnc

qnc
09-10-03, 06:41 AM
Found the problem myself :-)
My code was buggy, I wrote a
glBegin(GL_LINE_SMOOTH);
instead of a
glEnable(GL_LINE_SMOOTH);

Quite hard to find in 10000 lines of code... the error did not occur on other GPUs.

GL_LINE_SMOOTH is 0x0B20 and therefore no drawing primitive (0x0000-0x0009). Other cards than a quadro seem to ignore glBegin calls with no drawing primitive as argument. The quadro executes the glBegin with GL_LINE_SMOOTH about 8 times (without display update) and then hangs.

I already thought of simply exchanging the quadro againt a GeForce but now everything works. Seems that the quadro is less robust against coding errors. Thats no problem if you do the coding directly on the quadro but really bothering if you code on a GeForce and export the running code to a quadro.

Anyway, I wish GeForce cards would react the same way like the quadros. I dont like bugs in my code endured by the hardware because one day they will come through.

Best regards,

Qnc

Keithh
10-14-03, 08:30 AM
Which driver would you suggest for a quadro fx500 and suse 8.2?