summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_state.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-02-03 13:12:35 +1000
committerDave Airlie <airlied@redhat.com>2011-02-03 14:17:05 +1000
commitb13b7b86b2e1165b24a2df20cb67f9f3baa17b13 (patch)
treee984009ca1abccc8643dff5623d885cb443bc85b /src/gallium/drivers/r600/r600_state.c
parentd0293290ad620084d490b51693d97731a8935094 (diff)
r600g: rework dirty / depth texture tracking.
this adds a flag to keep track of whether the depth texture structure is the flushed texture or not, so we can avoid doing flushes when we do a hw rendering from one to the other. it also renames flushed to dirty_db which tracks if the DB copy has been dirtied by being bound to the hw. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/drivers/r600/r600_state.c')
-rw-r--r--src/gallium/drivers/r600/r600_state.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index 6adbbd9eab..354d38ec23 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 && tmp->tile_type == 1) {
+ if (tmp->depth && !tmp->is_flushing_texture) {
r600_texture_depth_flush(ctx, texture);
tmp = tmp->flushed_depth_texture;
}
@@ -760,8 +760,6 @@ static void r600_db(struct r600_pipe_context *rctx, struct r600_pipe_state *rsta
surf = (struct r600_surface *)state->zsbuf;
rtex = (struct r600_resource_texture*)state->zsbuf->texture;
- rtex->tile_type = 1;
-
rbuffer = &rtex->resource;
/* XXX quite sure for dx10+ hw don't need any offset hacks */