1 Reply Latest reply on Oct 24, 2013 7:45 PM by jianliang79

    Copy image from PBO to texture lead to damaged image

    jianliang79

          There is a bug in Catalyst Opengl driver when I try to upload an image through a PBO and copy it to a texture.

          To produce this issue, three conditions must be met:

          1) The image to be uploaded should be large enough, such as 3000+ pixels in width

          2) The width of the image is not will aligned, such as not aligned to a multiple of 16/8/4, but store it in PBO in a aligned manner ( an aligned stride)

          3) Use glPixelStorei() to set GL_UNPACK_ROW_LENGTH to specify the row length before call glTexSubImage2D()

       

          I have write a sample program to reproduce this bug which has been attached. Build the program under windows 7 x64 with vc10 and run it, after the main window has show up, two images named "correct.bmp" and "bad.bmp" should be generated. "correct.bmp" is the image i want to upload and "bad.bmp" is the image I upload to a texture and then downloaded. You can see "bad.bmp" is a damaged version of "corrent.bmp".

          You can use Catalyst 13.4 or 13.9 to reproduce it.

          BTW, This sample works fine in nVidia's openGL dirver.