GL not rendering to a portion of the viewport


I have this problem with an s3 savage card on an ibm machine Windows 2000. OpenGL is not able to render onto a portion of the viewport. A set of rows at the bottom and a set of columns at the right side is left unrendered (even by glClear command).

I also noticed that opengl commands, when used without enabling depth test, are able to render onto the portion of the viewport mentioned above.

The same exe works fine on a compaq machine NT 4.0 and different display card.

Does anyone have any clue to what could be happening??



Sounds like the S3’s OpenGL ICD has a bug. Make sure you are using the latest version.

Got same problems on some ATI cards. Also on TNT, when no hardware accelerated driver is installed in w2k. Never got a solution for this. If you have one, please tell me.


I have seen this problem on NT, 98 and 2000, using just the generic GDI software OpenGL. Windows 2000 seemed to be the worst.

One thing that really aggravated the problem was when I used the glLogicOp functions in order to XOR some stuff into the color buffer. When I was using this, I would have un-rendered rows and columns in the window quite often. When I quit using the glLogicOp, the problem happened less often.

If anyone finds out what causes this, please let me know. It doesn’t seem to be tied to one type of card or OS.

I found a bug report from the microsoft web site. It is:

To quickly summarize…the article suggests rendering to an off-screen DIB when using a non-accelerated OpenGL and then blitting the thing to the screen. Kind of like a cheezy implementation of double buffering.

Hopefully, this will just get fixed.

By the way, the article I mentioned above only applies to non-accelerated pixel formats. This still gives you no help on your specific problem, but since the article is semi-related to your problem I thought I would post it here.

This happened to me with my old rage 128. It was doing that when I was selecting a 32bits color buffer. I had never been able to make it work in 32bits, only in 24bits and lower.