Mesa (master): r600g: also check CB bindings for textures to depth flush.

Dave Airlie airlied at kemper.freedesktop.org
Thu Feb 3 23:05:05 UTC 2011


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Feb  4 09:06:02 2011 +1000

r600g: also check CB bindings for textures to depth flush.

This checks the color buffer bindings to make sure there is something
to flush.

Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/gallium/drivers/r600/r600_blit.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c
index c11268c..1a19080 100644
--- a/src/gallium/drivers/r600/r600_blit.c
+++ b/src/gallium/drivers/r600/r600_blit.c
@@ -136,6 +136,17 @@ void r600_flush_depth_textures(struct r600_pipe_context *rctx)
 
 		r600_blit_uncompress_depth(&rctx->context, tex);
 	}
+
+	/* also check CB here */
+	for (i = 0; i < rctx->framebuffer.nr_cbufs; i++) {
+		struct r600_resource_texture *tex;
+		tex = (struct r600_resource_texture *)rctx->framebuffer.cbufs[i]->texture;
+
+		if (!tex->depth)
+			continue;
+
+		r600_blit_uncompress_depth(&rctx->context, tex);
+	}
 }
 
 static void r600_clear(struct pipe_context *ctx, unsigned buffers,




More information about the mesa-commit mailing list