Mesa (master): r600g: do not try to use staging resource for depth textures

Keith Whitwell keithw at kemper.freedesktop.org
Thu Nov 11 07:43:39 PST 2010


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

Author: Keith Whitwell <keithw at vmware.com>
Date:   Thu Nov 11 15:41:49 2010 +0000

r600g: do not try to use staging resource for depth textures

Currently r600_resource_copy_region() will turn these copies into
transfers + memcpys, so to avoid recursion we must not turn those
transfers back into blits.

---

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

diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index a590858..56313e9 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -479,6 +479,15 @@ static boolean permit_hardware_blit(struct pipe_screen *screen,
         else
                 bind = PIPE_BIND_RENDER_TARGET;
 
+	/* See r600_resource_copy_region: there is something wrong
+         * with depth resource copies at the moment so avoid them for
+         * now.
+         */
+	if (util_format_get_component_bits(res->format,
+                                           UTIL_FORMAT_COLORSPACE_ZS,
+                                           0) != 0)
+                return FALSE;
+
         if (!screen->is_format_supported(screen,
                                          res->format,
                                          res->target,



More information about the mesa-commit mailing list