alpha test on radeon 9700

I am trying to use a alpha test on a radeon 9700 but it does not work. I looked at my pixel format and it says i have 8 alphabits(not the cerial). My code works on nvidia video card. Here is an excerpt:

glRasterPos2f( 0.0f, 0.0f );
glEnable( GL_ALPHA_TEST );
glAlphaFunc(GL_GREATER, 0.10f );

BOOL bAlpha = glIsEnabled( GL_ALPHA_TEST );

glCopyPixels( m_rcDevicePos.left, m_rcDevicePos.top ,
m_rcDevicePos.Width(), m_rcDevicePos.Height(), GL_COLOR );

the pixels i am trying to copy are in RGBA format. I asked for 24 bit color but got 32 bits which i expected to happened and is not a problem. I also asked for 8 alpha bits and got them.

It works fine w glDrawPixels (and geometry rendering), that’s all I know.

What exactly happens? No pixels discarded? All pixels discarded?

Do you call glColorMask anywhere in your code?

Does it work as expected if you ‘emulate’ glCopyPixels with a sequence of glReadPixels to a system memory buffer followed by glDrawPixels?

It will not mask anything, even when i replace the GL_GREATER with GL_NEVER.

I am trying to copy the pixels from the front buffer to the back buffer, after drawing new line strips or quads or whatever.

No i am not doing any color masks.

Thanks by the way for trying it out.

I just tried drawpixels and it works, but to do the drawpixels i have to do a read pixels and that is just to slow on an ati radeon card.

Just looked it up to make sure. In section 4.3.3 CopyPixels is specced to behave exactly like a ReadPixels/DrawPixels sequence (without the intermediate buffer, of course). Ie this looks like a driver bug.

You should prepare a minimum test case application (I’d suggest using GLUT) and send that to ATI devrel along with source code and a description.