summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/cell/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/cell/common.h')
-rw-r--r--src/mesa/pipe/cell/common.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/mesa/pipe/cell/common.h b/src/mesa/pipe/cell/common.h
index da7de78803..f7f1e2eb41 100644
--- a/src/mesa/pipe/cell/common.h
+++ b/src/mesa/pipe/cell/common.h
@@ -33,11 +33,11 @@
#ifndef CELL_COMMON_H
#define CELL_COMMON_H
+#include "pipe/p_compiler.h"
#include "pipe/p_util.h"
-#define ALIGN16 __attribute__( (aligned( 16 )) )
-
+/** for sanity checking */
#define ASSERT_ALIGN16(ptr) \
assert((((unsigned long) (ptr)) & 0xf) == 0);
@@ -49,7 +49,7 @@
#define CELL_CMD_EXIT 1
#define CELL_CMD_FRAMEBUFFER 2
#define CELL_CMD_CLEAR_TILES 3
-#define CELL_CMD_INVERT_TILES 4
+#define CELL_CMD_TRIANGLE 4
#define CELL_CMD_FINISH 5
@@ -61,7 +61,7 @@ struct cell_command_framebuffer
void *start;
int width, height;
unsigned format;
-} ALIGN16;
+} ALIGN16_ATTRIB;
/**
@@ -70,7 +70,14 @@ struct cell_command_framebuffer
struct cell_command_clear_tiles
{
uint value;
-} ALIGN16;
+} ALIGN16_ATTRIB;
+
+
+struct cell_command_triangle
+{
+ float vert[3][4];
+ float color[3][4];
+} ALIGN16_ATTRIB;
/** XXX unions don't seem to work */
@@ -78,15 +85,17 @@ struct cell_command
{
struct cell_command_framebuffer fb;
struct cell_command_clear_tiles clear;
-} ALIGN16;
+ struct cell_command_triangle tri;
+} ALIGN16_ATTRIB;
+/** This is the object passed to spe_create_thread() */
struct cell_init_info
{
unsigned id;
unsigned num_spus;
struct cell_command *cmd;
-} ALIGN16;
+} ALIGN16_ATTRIB;