liolio said:It will a dumb question, can someone explian me what is SOA and AOS?
It's a way of organizing your data in memory before you send it to the SIMD unit. Look at this example to better understand :
Code:
//AOS style
struct coordinate
{
float x;
float y;
float z;
float w;
}
coordinate vertices[NUMBER_OF_VERTICES];
Code:
//SOA style
struct coordinate
{
float x[NUMBER_OF_VERTICES];
float y[NUMBER_OF_VERTICES];
float z[NUMBER_OF_VERTICES];
float w[NUMBER_OF_VERTICES];
}
coordinate vertices;
As you can see AOS is more intuitive but SOA is typically more efficient because it involves only vertical ops and not horizontal ops.
Does memexport can help in someways for some of fonctionnalities NAo and fafalada speak about.
More likely the tesselation engine inside Xenos, but memexport can also be helpful for other things.