summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_resource.h
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2010-08-22 14:22:00 -0400
committerJerome Glisse <jglisse@redhat.com>2010-08-22 14:26:05 -0400
commited99c28d12579bb8ee79eb9cfa55452785be7b6e (patch)
tree777c2bc49f31715eb5e56c0addd3fb5d4363898e /src/gallium/drivers/r600/r600_resource.h
parent42719df0b866a00ea4a7739e82e1639c9943fcfd (diff)
r600g: depth buffer likely needs decompression when used as texture
Before using depth buffer as texture, it needs to be decompressed (tile pattern of db are different from one used for colorbuffer like texture) Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Diffstat (limited to 'src/gallium/drivers/r600/r600_resource.h')
-rw-r--r--src/gallium/drivers/r600/r600_resource.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_resource.h b/src/gallium/drivers/r600/r600_resource.h
index 5ebda027e9..5b3a7027a7 100644
--- a/src/gallium/drivers/r600/r600_resource.h
+++ b/src/gallium/drivers/r600/r600_resource.h
@@ -44,6 +44,8 @@ struct r600_resource_texture {
struct r600_resource resource;
unsigned long offset[PIPE_MAX_TEXTURE_LEVELS];
unsigned long pitch[PIPE_MAX_TEXTURE_LEVELS];
+ unsigned long width[PIPE_MAX_TEXTURE_LEVELS];
+ unsigned long height[PIPE_MAX_TEXTURE_LEVELS];
unsigned long layer_size[PIPE_MAX_TEXTURE_LEVELS];
unsigned long pitch_override;
unsigned long bpt;
@@ -51,6 +53,12 @@ struct r600_resource_texture {
unsigned tilled;
unsigned array_mode;
unsigned tile_type;
+ unsigned depth;
+ unsigned dirty;
+ struct radeon_bo *uncompressed;
+ struct radeon_state *scissor[PIPE_MAX_TEXTURE_LEVELS];
+ struct radeon_state *cb0[PIPE_MAX_TEXTURE_LEVELS];
+ struct radeon_state *db[PIPE_MAX_TEXTURE_LEVELS];
};
void r600_init_context_resource_functions(struct r600_context *r600);