summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/cell/spu/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/cell/spu/main.h')
-rw-r--r--src/mesa/pipe/cell/spu/main.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/mesa/pipe/cell/spu/main.h b/src/mesa/pipe/cell/spu/main.h
index 656d28ea0e5..ee4248ead64 100644
--- a/src/mesa/pipe/cell/spu/main.h
+++ b/src/mesa/pipe/cell/spu/main.h
@@ -34,6 +34,10 @@
#include "pipe/cell/common.h"
+#define MAX_WIDTH 1024
+#define MAX_HEIGHT 1024
+
+
extern volatile struct cell_init_info init;
struct framebuffer {
@@ -43,6 +47,9 @@ struct framebuffer {
enum pipe_format depth_format;
uint width, height; /**< size in pixels */
uint width_tiles, height_tiles; /**< width and height in tiles */
+
+ uint color_clear_value;
+ uint depth_clear_value;
};
/* XXX Collect these globals in a struct: */
@@ -52,8 +59,6 @@ extern struct framebuffer fb;
extern uint ctile[TILE_SIZE][TILE_SIZE] ALIGN16_ATTRIB;
extern ushort ztile[TILE_SIZE][TILE_SIZE] ALIGN16_ATTRIB;
-extern int DefaultTag;
-
/* DMA TAGS */
@@ -66,6 +71,13 @@ extern int DefaultTag;
+#define TILE_STATUS_CLEAR 1
+#define TILE_STATUS_DEFINED 2 /**< defined pixel data */
+#define TILE_STATUS_DIRTY 3 /**< modified, but not put back yet */
+
+extern ubyte tile_status[MAX_HEIGHT/TILE_SIZE][MAX_WIDTH/TILE_SIZE] ALIGN16_ATTRIB;
+extern ubyte tile_status_z[MAX_HEIGHT/TILE_SIZE][MAX_WIDTH/TILE_SIZE] ALIGN16_ATTRIB;
+
void
wait_on_mask(unsigned tag);
@@ -78,5 +90,11 @@ void
put_tile(const struct framebuffer *fb, uint tx, uint ty, const uint *tile,
int tag, int zBuf);
+void
+clear_tile(uint tile[TILE_SIZE][TILE_SIZE], uint value);
+
+void
+clear_tile_z(ushort tile[TILE_SIZE][TILE_SIZE], uint value);
+
#endif /* MAIN_H */