AnsweredAssumed Answered

Copy image from PBO to texture lead to damaged image

Question asked by jianliang79 on Sep 28, 2013
Latest reply on Oct 24, 2013 by 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.