forked from bartvdbraak/blender
Fix T53833: Particle Info node and Displacement Crash
The displacement shared was running before particle data was copied to the device causing bad memory access when the particle info node was used. Fix is simply to move particle update before mesh update so the data is available to displacement shaders. (Altho this fixes the crash the particle info node is still mostly useless with displacement for now...)
This commit is contained in:
parent
368414efac
commit
abb3a86e10
@ -214,6 +214,11 @@ void Scene::device_update(Device *device_, Progress& progress)
|
|||||||
|
|
||||||
if(progress.get_cancel() || device->have_error()) return;
|
if(progress.get_cancel() || device->have_error()) return;
|
||||||
|
|
||||||
|
progress.set_status("Updating Particle Systems");
|
||||||
|
particle_system_manager->device_update(device, &dscene, this, progress);
|
||||||
|
|
||||||
|
if(progress.get_cancel() || device->have_error()) return;
|
||||||
|
|
||||||
progress.set_status("Updating Meshes");
|
progress.set_status("Updating Meshes");
|
||||||
mesh_manager->device_update(device, &dscene, this, progress);
|
mesh_manager->device_update(device, &dscene, this, progress);
|
||||||
|
|
||||||
@ -249,11 +254,6 @@ void Scene::device_update(Device *device_, Progress& progress)
|
|||||||
|
|
||||||
if(progress.get_cancel() || device->have_error()) return;
|
if(progress.get_cancel() || device->have_error()) return;
|
||||||
|
|
||||||
progress.set_status("Updating Particle Systems");
|
|
||||||
particle_system_manager->device_update(device, &dscene, this, progress);
|
|
||||||
|
|
||||||
if(progress.get_cancel() || device->have_error()) return;
|
|
||||||
|
|
||||||
progress.set_status("Updating Integrator");
|
progress.set_status("Updating Integrator");
|
||||||
integrator->device_update(device, &dscene, this);
|
integrator->device_update(device, &dscene, this);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user