summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2010-11-11 15:41:49 +0000
committerKeith Whitwell <[email protected]>2010-11-11 15:43:31 +0000
commit8a3c181e9cc761abb647a8e813f25e3fa4441a9a (patch)
tree9a4f57f7c571c6c0f52a82150837dd750ab865e9 /src/gallium/drivers
parentb3b6476695a8bb12b873d2e7d8556b7432723b5a (diff)
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.
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/r600/r600_texture.c9
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 a590858c852..56313e992d8 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,