diff options
author | Brian <brian@yutani.localnet.net> | 2007-03-23 18:01:31 -0600 |
---|---|---|
committer | Brian <brian@yutani.localnet.net> | 2007-03-23 18:01:31 -0600 |
commit | 8e1c3bd0b4c599bae5b64cd51cec1d74266f30fb (patch) | |
tree | 445854d36005acc98e795213e5e39eb2c3fd8bba /src/mesa/main/renderbuffer.h | |
parent | 654a3084398c5ab3ac1491bcdc5703221a268d03 (diff) |
Implement alpha buffer copy for SwapBuffers().
Nicolai writes:
When the pixmap pixel format has no alpha channel, the x11 driver
(software rendering) adds a wrapped alpha channel on request.
During SwapBuffers, this alpha channel is not copied from back to
front, which means that the front buffer doesn't really contain the
contents that the back buffer previously contained.
A subsequent glReadPixels from the front buffer will return an
incorrect result. The following patch attempts to fix this.
Diffstat (limited to 'src/mesa/main/renderbuffer.h')
-rw-r--r-- | src/mesa/main/renderbuffer.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/main/renderbuffer.h b/src/mesa/main/renderbuffer.h index e1a0a55979..e5f1147b4a 100644 --- a/src/mesa/main/renderbuffer.h +++ b/src/mesa/main/renderbuffer.h @@ -64,6 +64,9 @@ _mesa_add_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb, GLboolean frontLeft, GLboolean backLeft, GLboolean frontRight, GLboolean backRight); +extern void +_mesa_copy_soft_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb); + extern GLboolean _mesa_add_depth_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb, GLuint depthBits); |