NVIDIA pbuffer bug?

I have a weird problem with pbuffers on linux with nvidia hardware. When I use glReadPixels or glCopyTexImage2d, the bottom row and right column of the image is garbled.

I have a small example here:
http://www.simula.no/~thomasse/pbuffer_bug.jpg

This is taken from the NvSDK pbuffer example. The source code for this example with makefile for linux is here:
http://www.simula.no/~thomasse/simple_pbuffer.tgz

This problem occurs with all versions of the driver that supports pbuffers (including 3123), on GF2 and GF3 on various linux distributions.

Any ideas?

Put this question at Advanced forum. Maye the NVIDIA guys read it.

I’ve tried the pbuffer sample and experienced the same problem
(GeForce2 + 31.23).

Have you already submitted a bug description ?

This is a known issue and should be fixed in a future driver release.

Hi,

I downloaded you example - you forget to set PACK_ALIGNMENT to 1 before reading back the texture (Although, this will not solve the problem!) - I’m also waiting for this bug to be fixed…

EDIT:
jra101 - are you saying this is fixed for future releases or that this needs to be fixed for future releases?

– Niels

[This message has been edited by Niels Husted Kjaer (edited 10-03-2002).]

I’m saying it will be fixed in a future release

To solve this problem (temporarily) Although not perfectly. I do the following.

  glBindTexture(GL_TEXTURE_RECTANGLE_NV,m_PBufferTexObject);
  glBegin(GL_QUADS);  
  {

#ifdef linux_x86
glTexCoord2i(0, 1); glVertex2i(0,0);
glTexCoord2i(gCanvasWidth()-1, 1); glVertex2i(gCanvasWidth(),0);
glTexCoord2i(gCanvasWidth()-1, gCanvasHeight()-1); glVertex2i(gCanvasWidth(),gCanvasHeight());
glTexCoord2i(0, gCanvasHeight()-1); glVertex2i(0,gCanvasHeight());
#else
glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f,0.0f);
glTexCoord2f(gCanvasWidth(), 0.0f); glVertex2f(gCanvasWidth(),0.0f);
glTexCoord2f(gCanvasWidth(), gCanvasHeight()); glVertex2f(gCanvasWidth(),gCanvasHeight());
glTexCoord2f(0.0f, gCanvasHeight()); glVertex2f(0.0f,gCanvasHeight());
#endif
}
glEnd();
glDisable(GL_TEXTURE_RECTANGLE_NV);

Hope this helps,

Heath.

[This message has been edited by heath (edited 10-11-2002).]

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