Commit: 0135d47a06f9c3bb3fa4ec7315cbfb4099e2c64a
Author: Jacques Lucke
Date: Wed Jul 10 15:43:10 2019 +0200
Branches: functions
https://developer.blender.org/rB0135d47a06f9c3bb3fa4ec7315cbfb4099e2c64a
compute remaining durations in every thread again
===================================================================
M source/blender/simulations/bparticles/simulate.cpp
===================================================================
diff --git a/source/blender/simulations/bparticles/simulate.cpp
b/source/blender/simulations/bparticles/simulate.cpp
index 6bc247985ff..fbe3f5c4817 100644
--- a/source/blender/simulations/bparticles/simulate.cpp
+++ b/source/blender/simulations/bparticles/simulate.cpp
@@ -486,24 +486,23 @@ BLI_NOINLINE static void
simulate_blocks_for_time_span(ParticleAllocators &block
return;
}
- uint block_size = blocks[0]->container().block_size();
- SmallVector<float> all_durations(block_size);
- all_durations.fill(time_span.duration());
-
BLI::Task::parallel_array_elements(
blocks,
/* Process individual element. */
- [&step_description, &all_durations, time_span](ParticlesBlock *block,
- ThreadLocalData
*local_data) {
+ [&step_description, time_span](ParticlesBlock *block, ThreadLocalData
*local_data) {
ParticlesState &state =
local_data->particle_allocator.particles_state();
StringRef particle_type_name =
state.particle_container_id(block->container());
ParticleType &particle_type =
step_description.particle_type(particle_type_name);
+ ArrayAllocator &array_allocator = local_data->array_allocator;
+ ArrayAllocator::Array<float> remaining_durations(array_allocator,
block->active_amount());
+ ArrayRef<float>(remaining_durations).fill(time_span.duration());
+
simulate_block(local_data->array_allocator,
local_data->particle_allocator,
*block,
particle_type,
-
ArrayRef<float>(all_durations).take_back(block->active_amount()),
+ remaining_durations,
time_span.end());
},
/* Create thread-local data. */
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs