Mesa (master): st/mesa: quick fix of CopyPixels with GL_DEPTH_STENCIL

Marek Olšák mareko at kemper.freedesktop.org
Tue Nov 22 19:57:09 UTC 2011


Module: Mesa
Branch: master
Commit: e99df05cce8a5ecf69fdb634f76898a279456ea4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e99df05cce8a5ecf69fdb634f76898a279456ea4

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Nov 20 15:08:56 2011 +0100

st/mesa: quick fix of CopyPixels with GL_DEPTH_STENCIL

This fixes:
- depthstencil-default_fb-copypixels
- fbo-depthstencil-GL_DEPTH24_STENCIL8-copypixels

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/state_tracker/st_cb_drawpixels.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
index 95805fd..912241b 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -1441,6 +1441,13 @@ st_CopyPixels(struct gl_context *ctx, GLint srcx, GLint srcy,
 
    st_validate_state(st);
 
+   if (type == GL_DEPTH_STENCIL) {
+      /* XXX make this more efficient */
+      st_CopyPixels(ctx, srcx, srcy, width, height, dstx, dsty, GL_STENCIL);
+      st_CopyPixels(ctx, srcx, srcy, width, height, dstx, dsty, GL_DEPTH);
+      return;
+   }
+
    if (type == GL_STENCIL) {
       /* can't use texturing to do stencil */
       copy_stencil_pixels(ctx, srcx, srcy, width, height, dstx, dsty);




More information about the mesa-commit mailing list