Hi Judd, The MixinVector did initially have allocator support, but I had to remove it because it was causing compile problems under one of our supported platforms. Arggg....
Robert. On Tue, Jul 8, 2008 at 2:34 PM, Judd Tracy <[EMAIL PROTECTED]> wrote: > You could use a STL allocator that would allow you to do the alignment, but > the question is how do you get that to the vector. There is no way to pass > an allocator to the current MixinVector so you are going to have to modify > osg to try this. It would be nice if the new MixinVector class and all > vectors that use it would allow for an allocator to be used on the > underlying vector, but I guess there has never been a need for this yet. > > Judd > > David Spilling wrote: >> >> Hi Gordon, Thibault, >> >> Thanks for the replies regarding the contiguity of the memory in a >> std::vector. That at least solves half of the problem. >> >> >> >> Use &yourvector[0] to get a float* pointer to the beginning of the >> array. >> >> How do I define the vec4array so that &yourvector[0] is absolutely >> aligned, i.e. a multiple of (in my case) 16? >> >> With a float array, on MS compilers, I would do __declspec(align(16)) >> float* myarray = new float[4 * MY_ARRAY_SIZE]. From what I understand, and >> from the MSDN documentation >> (http://msdn.microsoft.com/en-us/library/83ythb65.aspx) this is the correct >> way to guarantee this. #pragma pack 16 doesn't always do what you expect... >> >> If I do __declspec(align(16)) Vec4Array* myarray = new Vec4Array, I'm >> guaranteed that "myarray" is 16 byte aligned, but what about the contents of >> the array? Especially if I do lots of ->push_back so that the std::vector >> resizes and goes somewhere else. Even if I do __declspec(align(16)) >> Vec4Array* myarary = new Vec4Array(MY_ARRAY_SIZE) I don't think I'm >> guaranteed 16 byte alignment of the first vector entry... >> >> (I think the gcc equivalent to __declspec(align(X)) is __aligned__(X), by >> the way). >> >> Regards, >> >> David >> >> >> > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

