PBO w/ 1K works, w/ 2K dies

Hello…

I have developed a small applications which just displays a series of images in a flipbook-like manner. I’m using a couple texture mapped triangles to display them and I can switch between using normal glTexImage2D and Pixel Buffer Objects for the texture transfer.

Things for the most part work fine. I able to display most images (using PBO or not) i.e.

1K, RGB, ubyte pixel
2K, RGBA ubyte pixel
4K, RGBA ubyte pixel
4K, RGBA ushort pixel
4K RGBA half float pixel

The problem I’m having is when I try to use the PBO mechanism for anything LARGER than 1K for a ubyte RGB texture format, all I get is a black screen soon followed by an “Abort” crash. RGBA works fine, just not RGB…

The strange thing is if I turn off PBO’s and just use glTextImage2D (same pixel format/type) everything works fine (slower but fine).

I’ve built the app under Linux using Qt, an Nvidia Quadro 3400 card with the latest 1.0-9755 driver from Nvidia

Anyone run into ANYTHING like this before? Any suggestions???

Thanks,

-Smitty

One more thing. No opengl errors are reported during my failed 2K RGB texture render…

-Smitty

Seems like a driver bug. If you use the same code to allocate memory for structures used with both PBO and glTexImage2D then it’s very likely a driver bug.

PBO’s are relatively new functionality so there is a chance bugs are still there.

yeah, that’s exactly the case (on the memory allocation)… Thanks for the reply…

I’ve seen the same behaviour under WindowsXP with Quadro 3400 and Geforce 7800GTX but 8800GTX works fine.

Originally posted by Smitty:
The problem I’m having is when I try to use the PBO mechanism for anything LARGER than 1K for a ubyte RGB texture format, all I get is a black screen soon followed by an “Abort” crash. RGBA works fine, just not RGB…

RGB ubyte format always raises the question about pixel store alignment (should be 1 for tightly packed data), even if TexImage2D without PBOs seems to work, PBOs are probably very picky about overruns.