summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/cell/common.h
diff options
context:
space:
mode:
authorBrian <[email protected]>2008-01-19 12:04:06 -0700
committerBrian <[email protected]>2008-01-19 12:04:06 -0700
commita1f4a5e802ad62c88fca6834b9de1c83672230a6 (patch)
tree79f89f370a4d2b8197f313fe4ea7d081e386a916 /src/mesa/pipe/cell/common.h
parent06b019d16bc20d772a8aed2a68d1c5d37a402a81 (diff)
Cell: improve "finished copying batch buffer" signalling.
When the SPU is done copying a batch buffer to local store, use an mfc_put() to write a "done" message back to the buffer status array in main memory. We were previously using a mailbox message for synchronization.
Diffstat (limited to 'src/mesa/pipe/cell/common.h')
-rw-r--r--src/mesa/pipe/cell/common.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/pipe/cell/common.h b/src/mesa/pipe/cell/common.h
index 29d1cbeddad..f05070d25a1 100644
--- a/src/mesa/pipe/cell/common.h
+++ b/src/mesa/pipe/cell/common.h
@@ -62,10 +62,12 @@
#define CELL_CMD_STATE_DEPTH_STENCIL 7
-#define CELL_NUM_BATCH_BUFFERS 2
+#define CELL_NUM_BATCH_BUFFERS 3
#define CELL_BATCH_BUFFER_SIZE 1024 /**< 16KB would be the max */
-#define CELL_BATCH_FINISHED 0x1234 /**< mbox message */
+#define CELL_BUFFER_STATUS_FREE 10
+#define CELL_BUFFER_STATUS_USED 20
+
/**
@@ -122,6 +124,7 @@ struct cell_init_info
unsigned num_spus;
struct cell_command *cmd;
ubyte *batch_buffers[CELL_NUM_BATCH_BUFFERS];
+ uint *buffer_status; /**< points at cell_context->buffer_status */
} ALIGN16_ATTRIB;