summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/cell/common.h
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2008-01-28 10:00:27 -0700
committerBrian <brian.paul@tungstengraphics.com>2008-01-28 11:31:57 -0700
commit7024019d4e6e2a1618e910a127bea8c3b7661a54 (patch)
tree705e9a462176cbe0ec957d838743733da1113c49 /src/mesa/pipe/cell/common.h
parent200dcb4760960f0d9c74a7053de63337e93dd85b (diff)
Cell: checkpoint commit: always inline prim indexes into batch buffer
Also, explicit release-vertex-buffer command. Lots of debug/stale code still in place...
Diffstat (limited to 'src/mesa/pipe/cell/common.h')
-rw-r--r--src/mesa/pipe/cell/common.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/pipe/cell/common.h b/src/mesa/pipe/cell/common.h
index ce9c381907..31637ed1cc 100644
--- a/src/mesa/pipe/cell/common.h
+++ b/src/mesa/pipe/cell/common.h
@@ -75,6 +75,7 @@
#define CELL_CMD_FINISH 3
#define CELL_CMD_RENDER 4
#define CELL_CMD_BATCH 5
+#define CELL_CMD_RELEASE_VERTS 6
#define CELL_CMD_STATE_FRAMEBUFFER 10
#define CELL_CMD_STATE_DEPTH_STENCIL 11
#define CELL_CMD_STATE_SAMPLER 12
@@ -124,7 +125,11 @@ struct cell_command_render
uint vertex_size; /**< bytes per vertex */
uint dummy; /* XXX this dummy field works around a compiler bug */
uint num_indexes;
+#if 0
const void *vertex_data;
+#else
+ uint vertex_buf; /**< which cell->buffer[] contains the vertex data */
+#endif
const ushort *index_data;
float xmin, ymin, xmax, ymax;
boolean inline_indexes;
@@ -132,6 +137,13 @@ struct cell_command_render
} ALIGN16_ATTRIB;
+struct cell_command_release_verts
+{
+ int opcode; /**< CELL_CMD_RELEASE_VERTS */
+ uint vertex_buf; /**< in [0, CELL_NUM_BUFFERS-1] */
+};
+
+
/** XXX unions don't seem to work */
struct cell_command
{