I've built Embree on OSX via ccmake - all is fine. However I need to debug and to experiment. so I've built it as Xcode project. Intel Compiler was used for both. Under Xcode 4.6.2 the Embree gets run-time error if Optimization Level is set to (-02) (max speed).
Assertion failed: (numLeft + numRight == pinfo.size()), functionAssertion failed: (numLeft + num update_object_split, file /UserRight == pinfo.size()), functions/igorigor/Desktop/XEmbree/XEmbr update_object_split, file /Useree/../../embree-1.1/rtcore/commos/igorigor/Desktop/XEmbree/XEmbrn/heuristic_spatial.cpp, line 220.
Assertion failed: (atomic_set<PrimRefBlock>::block_iterator_unsafe(prims).size() == pinfo.size()), function recurse, file /Users/igorigor/Desktop/XEmbree/XEmbree/../../embree-1.1/rtcore/bvh4/bvh4_builder.cpp, line 120.
ee/../../embree-1.1/rtcore/common/heuristic_spatial.cpp, line 220.
My settings are:
- OSX 10.7.5
- Xcode 4.6.2
- Intel Compiler 13.0 (2013.3.171)
Do you experience that problem also with -O1? If so, the compiler might do some unsafe floating point optimizations that cause issues with the spatial split builder. Simply ignore the assertion if you do not see any scene artifacts, or use the object split builder.
-O1 works fine, the prob appears only with -O2 and spatial splitting. If I ignore this assert then other asserts appears immediately. Yes, it works if I set "Floating point model" to "Precise" (instead of default Fast"). I tried to set it selectively. via #praga float_control, but no luck