diff options
author | Keith Whitwell <[email protected]> | 2010-11-11 15:41:49 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2010-11-11 15:43:31 +0000 |
commit | 8a3c181e9cc761abb647a8e813f25e3fa4441a9a (patch) | |
tree | 9a4f57f7c571c6c0f52a82150837dd750ab865e9 /src/gallium/drivers/r600/r600_texture.c | |
parent | b3b6476695a8bb12b873d2e7d8556b7432723b5a (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/r600/r600_texture.c')
-rw-r--r-- | 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 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, |