Browse Source

Cell: Remove erroneous ALIGN16_ATTRIB attributes

If a structure is marked as being aligned the SPE compiler performs
extra optimizations (sadly, only -O2 is used) when reading the
structure.  Since most of the structures sent in batch buffers are
only 8-byte aligned, this resulted in mysterous bugs with -O2.
tags/mesa_20090313
Ian Romanick 17 years ago
parent
commit
de5c64e0af
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      src/gallium/drivers/cell/common.h

+ 3
- 3
src/gallium/drivers/cell/common.h View File

uint pitch; /**< Byte pitch from one entry to the next. */ uint pitch; /**< Byte pitch from one entry to the next. */
uint size; uint size;
uint function_offset; uint function_offset;
} ALIGN16_ATTRIB;
};




struct cell_attribute_fetch_code { struct cell_attribute_fetch_code {
unsigned num_declarations; unsigned num_declarations;
unsigned num_instructions; unsigned num_instructions;
unsigned num_immediates; unsigned num_immediates;
} ALIGN16_ATTRIB;
};




#define SPU_VERTS_PER_BATCH 64 #define SPU_VERTS_PER_BATCH 64
float plane[12][4]; float plane[12][4];
unsigned nr_planes; unsigned nr_planes;
unsigned nr_attrs; unsigned nr_attrs;
} ALIGN16_ATTRIB;
};




struct cell_command_render struct cell_command_render

Loading…
Cancel
Save