summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_blit.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-02-01 13:00:56 +1000
committerDave Airlie <airlied@redhat.com>2011-02-01 13:02:56 +1000
commitaee5f1e40ca27149a6226187e855125821d96971 (patch)
treeb0f06e6da06aa628ae28da63a3739780fbafeeee /src/gallium/drivers/r600/r600_blit.c
parent3ef397dafc80278d48d1385e14d4e500a86e94ac (diff)
r600: only decompress depth when its tile type is wrong.
If the tile type for the buffer is 1 then its been bound to the DB at some point, we need to decompress it, otherwise its only been bound as texture/cb so don't do anything. This fixes 5 piglit tests here on r600g.
Diffstat (limited to 'src/gallium/drivers/r600/r600_blit.c')
-rw-r--r--src/gallium/drivers/r600/r600_blit.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c
index 83c02e5580..a8e85df3c4 100644
--- a/src/gallium/drivers/r600/r600_blit.c
+++ b/src/gallium/drivers/r600/r600_blit.c
@@ -129,7 +129,11 @@ void r600_flush_depth_textures(struct r600_pipe_context *rctx)
if (!view) continue;
tex = (struct r600_resource_texture *)view->base.texture;
- if (!tex->depth) continue;
+ if (!tex->depth)
+ continue;
+
+ if (tex->tile_type == 0)
+ continue;
r600_blit_uncompress_depth(&rctx->context, tex);
}