@@ -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); | |||
@@ -61,7 +61,7 @@ struct cell_command_framebuffer | |||
void *start; | |||
int width, height; | |||
unsigned format; | |||
} ALIGN16; | |||
} ALIGN16_ATTRIB; | |||
/** | |||
@@ -70,7 +70,7 @@ struct cell_command_framebuffer | |||
struct cell_command_clear_tiles | |||
{ | |||
uint value; | |||
} ALIGN16; | |||
} ALIGN16_ATTRIB; | |||
struct cell_command_triangle | |||
@@ -79,7 +79,7 @@ struct cell_command_triangle | |||
float x1, y1; | |||
float x2, y2; | |||
uint color; | |||
} ALIGN16; | |||
} ALIGN16_ATTRIB; | |||
/** XXX unions don't seem to work */ | |||
@@ -88,7 +88,7 @@ struct cell_command | |||
struct cell_command_framebuffer fb; | |||
struct cell_command_clear_tiles clear; | |||
struct cell_command_triangle tri; | |||
} ALIGN16; | |||
} ALIGN16_ATTRIB; | |||
struct cell_init_info | |||
@@ -96,7 +96,7 @@ struct cell_init_info | |||
unsigned id; | |||
unsigned num_spus; | |||
struct cell_command *cmd; | |||
} ALIGN16; | |||
} ALIGN16_ATTRIB; | |||
@@ -50,8 +50,8 @@ spe_spu_control_area_t *control_ps_area[MAX_SPUS]; | |||
/** | |||
* 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]; | |||
/** |
@@ -36,7 +36,7 @@ | |||
#include "cell_context.h" | |||
#define MAX_SPUS 7 | |||
#define MAX_SPUS 8 | |||
/** | |||
* SPU/SPE handles, etc | |||
@@ -49,8 +49,8 @@ extern spe_spu_control_area_t *control_ps_area[MAX_SPUS]; | |||
/** | |||
* 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 |
@@ -114,7 +114,7 @@ clear_tiles(const struct cell_command_clear_tiles *clear) | |||
{ | |||
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; | |||
@@ -161,7 +161,7 @@ triangle(const struct cell_command_triangle *tri) | |||
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); |
@@ -66,7 +66,7 @@ | |||
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 | |||