How is embree passing aligned function arguments and still does work?

How is embree passing aligned function arguments and still does work?

I noticed in the file heuristic_binning.h, there's a type PrimInfo, whose c'tor accepts BBox3f by value, this will invoke a copy c'tor, but BBox3f has alignment inherited via Vec3f<float>. This shoud trigger and error with the MS compiler (error C2719), but it actully does not. Anyone care to explain why? Disabled somehow?

2 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

Using the MS compiler values passed by value will not be properly aligned. As a workaround one has to pass all values by reference that need alignment. I fixed that bug in the git repository of Embree, check it out here embree.github.com

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi