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

Reply via email to