#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);
void *start;
int width, height;
unsigned format;
-} ALIGN16;
+} ALIGN16_ATTRIB;
/**
struct cell_command_clear_tiles
{
uint value;
-} ALIGN16;
+} ALIGN16_ATTRIB;
struct cell_command_triangle
float x1, y1;
float x2, y2;
uint color;
-} ALIGN16;
+} ALIGN16_ATTRIB;
/** XXX unions don't seem to work */
struct cell_command_framebuffer fb;
struct cell_command_clear_tiles clear;
struct cell_command_triangle tri;
-} ALIGN16;
+} ALIGN16_ATTRIB;
struct cell_init_info
unsigned id;
unsigned num_spus;
struct cell_command *cmd;
-} ALIGN16;
+} ALIGN16_ATTRIB;
/**
* Data sent to SPUs
*/
-struct cell_init_info inits[MAX_SPUS] ALIGN16;
-struct cell_command command[MAX_SPUS] ALIGN16;
+struct cell_init_info inits[MAX_SPUS];
+struct cell_command command[MAX_SPUS];
/**
#include "cell_context.h"
-#define MAX_SPUS 7
+#define MAX_SPUS 8
/**
* SPU/SPE handles, etc
/**
* Data sent to SPUs
*/
-extern struct cell_init_info inits[MAX_SPUS] ALIGN16;
-extern struct cell_command command[MAX_SPUS] ALIGN16;
+extern struct cell_init_info inits[MAX_SPUS];
+extern struct cell_command command[MAX_SPUS];
void
{
uint num_tiles = fb.width_tiles * fb.height_tiles;
uint i;
- uint tile[TILE_SIZE * TILE_SIZE] ALIGN16;
+ uint tile[TILE_SIZE * TILE_SIZE] ALIGN16_ATTRIB;
for (i = 0; i < TILE_SIZE * TILE_SIZE; i++)
tile[i] = clear->value;
static void
main_loop(void)
{
- struct cell_command cmd ALIGN16;
+ struct cell_command cmd;
int exitFlag = 0;
printf("SPU %u: Enter main loop\n", init.id);
static int cliprect_minx, cliprect_maxx, cliprect_miny, cliprect_maxy;
-static uint tile[TILE_SIZE][TILE_SIZE] ALIGN16;
+static uint tile[TILE_SIZE][TILE_SIZE] ALIGN16_ATTRIB;
#endif