Page MenuHome

Cycles: Separate Embree device for each CPU Device.
ClosedPublic

Authored by Stefan Werner (swerner) on Tue, Sep 1, 2:50 PM.

Details

Summary

Before, Cycles was using a shared Embree device across all instances.
This could result in crashes when viewport rendering and material
preview were using Cycles simultaneously.

Fixes issue T80042

Diff Detail

Repository
rB Blender

Event Timeline

Stefan Werner (swerner) requested review of this revision.Tue, Sep 1, 2:50 PM
Stefan Werner (swerner) created this revision.
This revision is now accepted and ready to land.Tue, Sep 1, 2:52 PM

The addition of Device::bvh_device() could be short lived - I would like to eventually postpone the Embree BVH build until after geometry has been synced to the device (similar to OptiX), that way Embree can share Cycles' vertex and index arrays instead of creating separate copies.

From reading code and descriptions seems fine.

Please remember to run regression tests prior to commit :)