summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_resource.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-09-23 13:34:36 +1000
committerDave Airlie <airlied@redhat.com>2010-09-23 16:00:16 +1000
commit2f8453eea3b5ff8d2818517753d3990490f699b8 (patch)
tree54adba7cb140c6233c3f9f287656615718d7b6da /src/gallium/drivers/r600/r600_resource.h
parentc262c4a2ff1a19d0136771767ba63f04cf3b83e3 (diff)
r600g: use blitter to do db->cb flushing.
use the blitter + custom stage to avoid doing a whole lot of state setup by hand. This makes life a lot easier for doing this on evergreen it also keeps all the state setup in one place. We setup a custom context state at the start with a flag to denote its for the flush, when it gets generated we generate the correct state for the flush and no longer have to do it all by hand. this should also make adding texture *to* depth easier.
Diffstat (limited to 'src/gallium/drivers/r600/r600_resource.h')
-rw-r--r--src/gallium/drivers/r600/r600_resource.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/gallium/drivers/r600/r600_resource.h b/src/gallium/drivers/r600/r600_resource.h
index 5d56910645..a24197c3c2 100644
--- a/src/gallium/drivers/r600/r600_resource.h
+++ b/src/gallium/drivers/r600/r600_resource.h
@@ -55,11 +55,7 @@ struct r600_resource_texture {
unsigned tile_type;
unsigned depth;
unsigned dirty;
- struct radeon_ws_bo *uncompressed;
- struct radeon_state scissor[PIPE_MAX_TEXTURE_LEVELS];
- struct radeon_state cb[8][PIPE_MAX_TEXTURE_LEVELS];
- struct radeon_state db[PIPE_MAX_TEXTURE_LEVELS];
- struct radeon_state viewport[PIPE_MAX_TEXTURE_LEVELS];
+ struct r600_resource_texture *flushed_depth_texture;
};
void r600_init_context_resource_functions(struct r600_context *r600);
@@ -106,4 +102,6 @@ static INLINE boolean r600_buffer_is_user_buffer(struct pipe_resource *buffer)
return r600_buffer(buffer)->user_buffer ? TRUE : FALSE;
}
+int r600_texture_depth_flush(struct pipe_context *ctx,
+ struct pipe_resource *texture);
#endif