ATI: very slow texture upload of compressed images

I upload a pre-compressed S3TC image into the texture memory by:

glCompressedTexImage2D(
    GL_TEXTURE_2D,                    /* target                   */
    0,                                /* mipmap level             */
    GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, /* S3TC compression format  */
    imageSizeX,                       /* image size x             */
    imageSizeY,                       /* image size y             */
    0,                                /* border pixels            */
    bytes,                            /* image data size in bytes */
    buffer                            /* image data               */
);

The uploaded image is displayed correctly :slight_smile:

But the uploading time on ATI cards are very high (ATI 9800 XT, Catalyst 4.3, AGP: 4x, Fast write: on):

512x512:    ~1 second
1024x1024:  ~4 seconds!!!
2048x2048: ~16 seconds!!!

The timing is done by:

glFlush();
// get start time
glCompressedTexImage2D(...);
glBegin(GL_TRIANGLES);
glEnd();
// get end time

Without the glBegin()/glEnd() execution blocks at least at the next rendering of a primitive for the same duration!

On my NVidia GeForce4go equipped notebook the loading times are:

512x512:   <0.05 seconds
1024x1024: <0.17 seconds
2048x2048: <0.65 seconds

Is this a known ATI driver bug?

Any suggestions to workaround this problem?

Thanks to a quick answer from ATI, I could track the problem down to an enabling SGIS_generate_mipmap call. Disabling mipmap generation solved the problem… :slight_smile:

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