summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/r600_resource.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2013-08-02 01:44:15 +0200
committerMarek Olšák <[email protected]>2013-08-17 01:48:25 +0200
commit2a4b2e23053db846903199ed1a892fe72da70750 (patch)
tree263ee2278fefd25296b6370dcbc71856abed01d5 /src/gallium/drivers/radeonsi/r600_resource.h
parent2f1c449415903332489a05e4037b8f3f5aa15342 (diff)
radeonsi: implement MSAA colorbuffer compression for rendering
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/r600_resource.h')
-rw-r--r--src/gallium/drivers/radeonsi/r600_resource.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/r600_resource.h b/src/gallium/drivers/radeonsi/r600_resource.h
index ca8121f32f9..e5dd36a1bab 100644
--- a/src/gallium/drivers/radeonsi/r600_resource.h
+++ b/src/gallium/drivers/radeonsi/r600_resource.h
@@ -40,6 +40,22 @@ struct r600_transfer {
struct pipe_resource *staging;
};
+struct r600_fmask_info {
+ unsigned offset;
+ unsigned size;
+ unsigned alignment;
+ unsigned bank_height;
+ unsigned slice_tile_max;
+ unsigned tile_mode_index;
+};
+
+struct r600_cmask_info {
+ unsigned offset;
+ unsigned size;
+ unsigned alignment;
+ unsigned slice_tile_max;
+};
+
struct r600_texture {
struct si_resource resource;
@@ -48,12 +64,17 @@ struct r600_texture {
* for the stencil buffer below. */
enum pipe_format real_format;
+ unsigned size;
unsigned pitch_override;
unsigned is_depth;
unsigned dirty_level_mask; /* each bit says if that miplevel is dirty */
struct r600_texture *flushed_depth_texture;
boolean is_flushing_texture;
struct radeon_surface surface;
+
+ /* Colorbuffer compression and fast clear. */
+ struct r600_fmask_info fmask;
+ struct r600_cmask_info cmask;
};
struct r600_surface {