[Bf-blender-cvs] [0135d47a06f] functions: compute remaining durations in every thread again
Jacques Lucke
noreply at git.blender.org
Wed Jul 10 17:18:01 CEST 2019
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. */
More information about the Bf-blender-cvs
mailing list