diff options
author | Dave Airlie <airlied@redhat.com> | 2011-02-01 13:00:56 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-02-01 13:02:56 +1000 |
commit | aee5f1e40ca27149a6226187e855125821d96971 (patch) | |
tree | b0f06e6da06aa628ae28da63a3739780fbafeeee /src/gallium/drivers/r600/r600_state.c | |
parent | 3ef397dafc80278d48d1385e14d4e500a86e94ac (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_state.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_state.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index d23f242e56..acaa5c05ae 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -429,7 +429,7 @@ static struct pipe_sampler_view *r600_create_sampler_view(struct pipe_context *c R600_ERR("unknow format %d\n", state->format); } tmp = (struct r600_resource_texture *)texture; - if (tmp->depth) { + if (tmp->depth && tmp->tile_type == 1) { r600_texture_depth_flush(ctx, texture); tmp = tmp->flushed_depth_texture; } |