|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | TaskParallelTLS |
| struct | TaskParallelSettings |
| struct | TaskParallelIteratorStateShared |
Typedefs | |
| typedef enum TaskPriority | TaskPriority |
| typedef struct TaskPool | TaskPool |
| typedef void(* | TaskRunFunction) (TaskPool *__restrict pool, void *taskdata) |
| typedef void(* | TaskFreeFunction) (TaskPool *__restrict pool, void *taskdata) |
| typedef struct TaskParallelTLS | TaskParallelTLS |
| typedef void(* | TaskParallelRangeFunc) (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
| typedef void(* | TaskParallelReduceFunc) (const void *__restrict userdata, void *__restrict chunk_join, void *__restrict chunk) |
| typedef void(* | TaskParallelFreeFunc) (const void *__restrict userdata, void *__restrict chunk) |
| typedef struct TaskParallelSettings | TaskParallelSettings |
| typedef struct TaskParallelIteratorStateShared | TaskParallelIteratorStateShared |
| typedef void(* | TaskParallelIteratorIterFunc) (void *__restrict userdata, const TaskParallelTLS *__restrict tls, void **r_next_item, int *r_next_index, bool *r_do_abort) |
| typedef void(* | TaskParallelIteratorFunc) (void *__restrict userdata, void *item, int index, const TaskParallelTLS *__restrict tls) |
| typedef struct MempoolIterData | MempoolIterData |
| typedef void(* | TaskParallelMempoolFunc) (void *userdata, MempoolIterData *iter) |
| typedef void(* | TaskGraphNodeRunFunction) (void *__restrict task_data) |
| typedef void(* | TaskGraphNodeFreeFunction) (void *task_data) |
Enumerations | |
| enum | TaskPriority { TASK_PRIORITY_LOW , TASK_PRIORITY_HIGH } |
| typedef struct MempoolIterData MempoolIterData |
Definition at line 218 of file BLI_task.h.
| typedef void(* TaskFreeFunction) (TaskPool *__restrict pool, void *taskdata) |
Definition at line 72 of file BLI_task.h.
| typedef void(* TaskGraphNodeFreeFunction) (void *task_data) |
Definition at line 307 of file BLI_task.h.
| typedef void(* TaskGraphNodeRunFunction) (void *__restrict task_data) |
Definition at line 306 of file BLI_task.h.
| typedef void(* TaskParallelFreeFunc) (const void *__restrict userdata, void *__restrict chunk) |
Definition at line 136 of file BLI_task.h.
| typedef void(* TaskParallelIteratorFunc) (void *__restrict userdata, void *item, int index, const TaskParallelTLS *__restrict tls) |
Definition at line 205 of file BLI_task.h.
| typedef void(* TaskParallelIteratorIterFunc) (void *__restrict userdata, const TaskParallelTLS *__restrict tls, void **r_next_item, int *r_next_index, bool *r_do_abort) |
Definition at line 199 of file BLI_task.h.
| typedef struct TaskParallelIteratorStateShared TaskParallelIteratorStateShared |
| typedef void(* TaskParallelMempoolFunc) (void *userdata, MempoolIterData *iter) |
Definition at line 224 of file BLI_task.h.
| typedef void(* TaskParallelRangeFunc) (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
Definition at line 129 of file BLI_task.h.
| typedef void(* TaskParallelReduceFunc) (const void *__restrict userdata, void *__restrict chunk_join, void *__restrict chunk) |
Definition at line 132 of file BLI_task.h.
| typedef struct TaskParallelSettings TaskParallelSettings |
| typedef struct TaskParallelTLS TaskParallelTLS |
Definition at line 49 of file BLI_task.h.
| typedef enum TaskPriority TaskPriority |
| typedef void(* TaskRunFunction) (TaskPool *__restrict pool, void *taskdata) |
Definition at line 71 of file BLI_task.h.
| enum TaskPriority |
| Enumerator | |
|---|---|
| TASK_PRIORITY_LOW | |
| TASK_PRIORITY_HIGH | |
Definition at line 65 of file BLI_task.h.
| BLI_INLINE void BLI_parallel_range_settings_defaults | ( | TaskParallelSettings * | settings | ) |
Definition at line 231 of file BLI_task.h.
References TaskParallelSettings::min_iter_per_thread, and TaskParallelSettings::use_threading.
Referenced by armature_deform_coords_impl(), BKE_autotrack_context_step(), BKE_maskrasterize_buffer(), BKE_mesh_calc_normals_poly(), BKE_scopes_update(), BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_average_stitch_faces(), BKE_subdiv_foreach_subdiv_geometry(), BKE_tracking_stabilize_frame(), BLI_bvhtree_overlap_ex(), BLI_covariance_m_vn_ex(), BM_loop_interp_multires_ex(), brush_add(), ccgDM_copyFinalLoopArray(), ccgSubSurf__calcSubdivLevel(), ccgSubSurf__calcVertNormals(), cloth_bvh_objcollisions_nearcheck(), cloth_bvh_selfcollisions_nearcheck(), displaceModifier_do(), dynamicPaint_applySurfaceDisplace(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_createUVSurface(), dynamicPaint_doBorderStep(), dynamicPaint_doEffectStep(), dynamicPaint_doStep(), dynamicPaint_doWaveStep(), dynamicPaint_generateBakeData(), dynamicPaint_Modifier_apply(), dynamicPaint_outputSurfaceImage(), dynamicPaint_paintMesh(), dynamicPaint_paintParticles(), dynamicPaint_paintSinglePoint(), dynamicPaint_prepareAdjacencyData(), dynamicPaint_prepareEffectStep(), dynamicPaint_setInitialColor(), dynamics_step(), foreach_grid_coordinate(), foreach_mouse_hit_key(), foreach_toplevel_grid_coord(), get_vert2geom_distance(), lattice_deform_coords_impl(), load_tex(), load_tex_cursor(), make_histogram_view_from_ibuf_byte(), make_histogram_view_from_ibuf_float(), meshdeformModifier_do(), modifyMesh(), multiresModifier_disp_run(), non_recursive_bvh_div_nodes(), paint_2d_op(), PE_apply_lengths(), pe_deflect_emitter(), pe_iterate_lengths(), precompute_weight_values(), psys_cache_edit_paths(), RE_point_density_sample(), sculpt_color_filter_modal(), shrinkwrap_calc_nearest_surface_point(), shrinkwrap_calc_nearest_vertex(), shrinkwrap_calc_normal_projection(), subdiv_ccg_average_all_boundaries(), subdiv_ccg_average_all_corners(), subdiv_ccg_evaluate_grids(), subdiv_ccg_recalc_inner_grid_normals(), subdiv_ccg_recalc_modified_inner_grid_normals(), surfacedeformBind(), surfacedeformModifier_do(), surfaceGenerateGrid(), task_listbase_test_do(), and TEST().
| struct TaskGraph* BLI_task_graph_create | ( | void | ) |
Definition at line 112 of file task_graph.cc.
Referenced by DRW_draw_depth_object(), drw_task_graph_init(), and TEST().
Definition at line 153 of file task_graph.cc.
References BLI_task_scheduler_num_threads(), and TaskNode::successors.
Referenced by extract_range_task_create(), extract_task_create(), mesh_buffer_cache_create_requested(), and TEST().
| void BLI_task_graph_free | ( | struct TaskGraph * | task_graph | ) |
Definition at line 117 of file task_graph.cc.
Referenced by DRW_draw_depth_object(), drw_task_graph_deinit(), and TEST().
| struct TaskNode* BLI_task_graph_node_create | ( | struct TaskGraph * | task_graph, |
| TaskGraphNodeRunFunction | run, | ||
| void * | user_data, | ||
| TaskGraphNodeFreeFunction | free_func | ||
| ) |
Definition at line 131 of file task_graph.cc.
References free_func(), TaskGraph::nodes, TaskNode::TaskNode(), and user_data.
Referenced by extract_range_task_create(), extract_single_threaded_task_node_create(), extract_task_create(), mesh_extract_render_data_node_create(), TEST(), and user_data_init_task_node_create().
| bool BLI_task_graph_node_push_work | ( | struct TaskNode * | task_node | ) |
Definition at line 141 of file task_graph.cc.
References BLI_task_scheduler_num_threads(), and TaskNode::run_serial().
Referenced by mesh_buffer_cache_create_requested(), and TEST().
| void BLI_task_graph_work_and_wait | ( | struct TaskGraph * | task_graph | ) |
Definition at line 122 of file task_graph.cc.
References UNUSED_VARS.
Referenced by DRW_draw_depth_object(), DRW_mesh_batch_cache_create_requested(), drw_task_graph_deinit(), mesh_buffer_cache_create_requested(), and TEST().
| void BLI_task_parallel_iterator | ( | void * | userdata, |
| TaskParallelIteratorIterFunc | iter_func, | ||
| void * | init_item, | ||
| const int | init_index, | ||
| const int | tot_items, | ||
| TaskParallelIteratorFunc | func, | ||
| const TaskParallelSettings * | settings | ||
| ) |
This function allows to parallelize for loops using a generic iterator.
| userdata | Common userdata passed to all instances of func. |
| iter_func | Callback function used to generate chunks of items. |
| init_item | The initial item, if necessary (may be NULL if unused). |
| init_index | The initial index. |
| tot_items | The total amount of items to iterate over (if unknown, set it to a negative number). |
| func | Callback function. |
| settings | See public API doc of TaskParallelSettings for description of all settings. |
Definition at line 276 of file task_iterator.c.
References state, and task_parallel_iterator_do().
| void BLI_task_parallel_listbase | ( | ListBase * | listbase, |
| void * | userdata, | ||
| TaskParallelIteratorFunc | func, | ||
| const TaskParallelSettings * | settings | ||
| ) |
This function allows to parallelize for loops over ListBase items.
| listbase | The double linked list to loop over. |
| userdata | Common userdata passed to all instances of func. |
| func | Callback function. |
| settings | See public API doc of ParallelRangeSettings for description of all settings. |
Definition at line 324 of file task_iterator.c.
References BLI_listbase_count(), BLI_listbase_is_empty(), ListBase::first, state, task_parallel_iterator_do(), and task_parallel_listbase_get().
Referenced by task_listbase_test_do(), and TEST().
| void BLI_task_parallel_mempool | ( | BLI_mempool * | mempool, |
| void * | userdata, | ||
| TaskParallelMempoolFunc | func, | ||
| const bool | use_threading | ||
| ) |
This function allows to parallelize for loops over Mempool items.
| mempool | The iterable BLI_mempool to loop over. |
| userdata | Common userdata passed to all instances of func. |
| func | Callback function. |
| use_threading | If true, actually split-execute loop in threads, else just do a sequential for loop (allows caller to use any kind of test to switch on parallelization or not). |
Definition at line 377 of file task_iterator.c.
References BLI_mempool_iter_threadsafe_create(), BLI_mempool_iter_threadsafe_free(), BLI_mempool_iternew(), BLI_mempool_iterstep(), BLI_mempool_len(), BLI_task_pool_create(), BLI_task_pool_free(), BLI_task_pool_push(), BLI_task_pool_work_and_wait(), BLI_task_scheduler_num_threads(), NULL, parallel_mempool_func(), state, task_pool, and TASK_PRIORITY_HIGH.
Referenced by armature_deform_coords_impl(), lattice_deform_coords_impl(), and TEST().
| void BLI_task_parallel_range | ( | const int | start, |
| const int | stop, | ||
| void * | userdata, | ||
| TaskParallelRangeFunc | func, | ||
| const TaskParallelSettings * | settings | ||
| ) |
Definition at line 110 of file task_range.cc.
References BLI_task_scheduler_num_threads(), TaskParallelSettings::func_free, TaskParallelSettings::func_reduce, MAX2, TaskParallelSettings::min_iter_per_thread, blender::parallel_for(), blender::compositor::task, TaskParallelSettings::use_threading, TaskParallelTLS::userdata_chunk, TaskParallelSettings::userdata_chunk, and TaskParallelSettings::userdata_chunk_size.
Referenced by armature_deform_coords_impl(), BKE_autotrack_context_step(), BKE_maskrasterize_buffer(), BKE_mesh_calc_normals_poly(), BKE_scopes_update(), BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_average_stitch_faces(), BKE_subdiv_foreach_subdiv_geometry(), BKE_tracking_stabilize_frame(), BLI_bvhtree_overlap_ex(), BLI_covariance_m_vn_ex(), BM_loop_interp_multires_ex(), bmesh_topology_rake(), brush_add(), calc_area_center(), calc_area_normal_and_center(), calculate_average_color(), calculate_average_weight(), ccgDM_copyFinalLoopArray(), ccgSubSurf__calcSubdivLevel(), ccgSubSurf__calcVertNormals(), cloth_brush_apply_brush_foces(), cloth_bvh_objcollisions_nearcheck(), cloth_bvh_selfcollisions_nearcheck(), displaceModifier_do(), do_brush_action(), do_clay_brush(), do_clay_strips_brush(), do_clay_thumb_brush(), do_crease_brush(), do_displacement_eraser_brush(), do_displacement_smear_brush(), do_draw_brush(), do_draw_sharp_brush(), do_elastic_deform_brush(), do_fill_brush(), do_flatten_brush(), do_grab_brush(), do_gravity(), do_inflate_brush(), do_layer_brush(), do_mask_brush_draw(), do_nudge_brush(), do_pinch_brush(), do_rotate_brush(), do_scrape_brush(), do_slide_relax_brush(), do_snake_hook_brush(), do_thumb_brush(), dynamicPaint_applySurfaceDisplace(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_createUVSurface(), dynamicPaint_doBorderStep(), dynamicPaint_doEffectStep(), dynamicPaint_doStep(), dynamicPaint_doWaveStep(), dynamicPaint_generateBakeData(), dynamicPaint_Modifier_apply(), dynamicPaint_outputSurfaceImage(), dynamicPaint_paintMesh(), dynamicPaint_paintParticles(), dynamicPaint_paintSinglePoint(), dynamicPaint_prepareAdjacencyData(), dynamicPaint_prepareEffectStep(), dynamicPaint_setInitialColor(), dynamics_step(), foreach_grid_coordinate(), foreach_mouse_hit_key(), foreach_toplevel_grid_coord(), get_vert2geom_distance(), lattice_deform_coords_impl(), load_tex(), load_tex_cursor(), make_histogram_view_from_ibuf_byte(), make_histogram_view_from_ibuf_float(), mask_flood_fill_exec(), meshdeformModifier_do(), modifyMesh(), multiresModifier_disp_run(), non_recursive_bvh_div_nodes(), paint_2d_op(), paint_mesh_restore_co(), pbvh_faces_update_normals(), pbvh_update_BB_redraw(), pbvh_update_draw_buffers(), pbvh_update_mask_redraw(), pbvh_update_visibility(), pbvh_update_visibility_redraw(), PE_apply_lengths(), pe_deflect_emitter(), pe_iterate_lengths(), precompute_weight_values(), psys_cache_edit_paths(), RE_point_density_sample(), SCULPT_cloth_brush_do_simulation_step(), SCULPT_cloth_brush_ensure_nodes_constraints(), sculpt_cloth_filter_modal(), sculpt_color_filter_modal(), sculpt_combine_proxies(), sculpt_dirty_mask_exec(), SCULPT_do_boundary_brush(), SCULPT_do_draw_face_sets_brush(), SCULPT_do_multiplane_scrape_brush(), SCULPT_do_paint_brush(), SCULPT_do_pose_brush(), SCULPT_do_smear_brush(), SCULPT_do_surface_smooth_brush(), SCULPT_enhance_details_brush(), sculpt_expand_update_for_vertex(), SCULPT_fake_neighbor_search(), SCULPT_filter_cache_init(), SCULPT_flush_stroke_deform(), sculpt_gesture_face_set_apply_for_symmetry_pass(), sculpt_gesture_mask_apply_for_symmetry_pass(), sculpt_gesture_project_apply_for_symmetry_pass(), sculpt_mask_by_color_contiguous(), sculpt_mask_by_color_full_mesh(), sculpt_mask_expand_invoke(), sculpt_mask_expand_modal(), sculpt_mask_filter_exec(), SCULPT_mask_filter_smooth_apply(), sculpt_mask_init_exec(), sculpt_mesh_filter_modal(), SCULPT_nearest_vertex_get(), SCULPT_pbvh_calc_area_normal(), SCULPT_pose_brush_init(), sculpt_pose_grow_pose_factor(), SCULPT_smooth(), sculpt_transform_all_vertices(), sculpt_undo_bmesh_restore_generic(), shrinkwrap_calc_nearest_surface_point(), shrinkwrap_calc_nearest_vertex(), shrinkwrap_calc_normal_projection(), subdiv_ccg_average_all_boundaries(), subdiv_ccg_average_all_corners(), subdiv_ccg_evaluate_grids(), subdiv_ccg_recalc_inner_grid_normals(), subdiv_ccg_recalc_modified_inner_grid_normals(), surfacedeformBind(), surfacedeformModifier_do(), surfaceGenerateGrid(), TEST(), vpaint_paint_leaves(), and wpaint_paint_leaves().
| int BLI_task_parallel_thread_id | ( | const TaskParallelTLS * | tls | ) |
Referenced by brush_add_count_iter(), calc_multiplane_scrape_surface_task_cb(), do_clay_brush_task_cb_ex(), do_clay_strips_brush_task_cb_ex(), do_clay_thumb_brush_task_cb_ex(), do_cloth_brush_apply_forces_task_cb_ex(), do_color_smooth_task_cb_exec(), do_crease_brush_task_cb_ex(), do_displacement_eraser_brush_task_cb_ex(), do_displacement_smear_brush_task_cb_ex(), do_draw_brush_task_cb_ex(), do_draw_face_sets_brush_task_cb_ex(), do_draw_sharp_brush_task_cb_ex(), do_enhance_details_brush_task_cb_ex(), do_fill_brush_task_cb_ex(), do_flatten_brush_task_cb_ex(), do_grab_brush_task_cb_ex(), do_gravity_task_cb_ex(), do_inflate_brush_task_cb_ex(), do_layer_brush_task_cb_ex(), do_mask_brush_draw_task_cb_ex(), do_multiplane_scrape_brush_task_cb_ex(), do_nudge_brush_task_cb_ex(), do_paint_brush_task_cb_ex(), do_pinch_brush_task_cb_ex(), do_relax_face_sets_brush_task_cb_ex(), do_rotate_brush_task_cb_ex(), do_scrape_brush_task_cb_ex(), do_smear_brush_task_cb_exec(), do_smooth_brush_task_cb_ex(), do_snake_hook_brush_task_cb_ex(), do_thumb_brush_task_cb_ex(), do_topology_rake_bmesh_task_cb_ex(), do_topology_relax_task_cb_ex(), do_topology_slide_task_cb_ex(), load_tex_task_cb_ex(), SCULPT_do_surface_smooth_brush_displace_task_cb_ex(), SCULPT_do_surface_smooth_brush_laplacian_task_cb_ex(), and blender::compositor::threading_model_task_execute().
| void BLI_task_pool_cancel | ( | TaskPool * | pool | ) |
Definition at line 511 of file task_pool.cc.
References background_task_pool_cancel(), blender::compositor::pool, TASK_POOL_BACKGROUND, TASK_POOL_BACKGROUND_SERIAL, TASK_POOL_NO_THREADS, TASK_POOL_TBB, TASK_POOL_TBB_SUSPENDED, tbb_task_pool_cancel(), and TaskPool::type.
Referenced by filelist_cache_previews_clear().
| TaskPool* BLI_task_pool_create | ( | void * | userdata, |
| TaskPriority | priority | ||
| ) |
Create a normal task pool. Tasks will be executed as soon as they are added.
Definition at line 406 of file task_pool.cc.
References task_pool_create_ex(), and TASK_POOL_TBB.
Referenced by BKE_editmesh_loop_tangent_calc(), BKE_lib_override_library_main_operations_create(), BKE_mesh_calc_loop_tangent_ex(), BKE_mesh_normals_loop_split(), BLI_task_parallel_mempool(), distribute_particles_on_dm(), do_sequence_proxy(), IMB_processor_apply_threaded(), IMB_processor_apply_threaded_scanlines(), lineart_main_occlusion_begin(), psys_cache_child_paths(), screen_opengl_render_init(), start_prefetch_threads(), task_parallel_iterator_do(), and blender::compositor::threading_model_task_start().
| TaskPool* BLI_task_pool_create_background | ( | void * | userdata, |
| TaskPriority | priority | ||
| ) |
Create a background task pool. In multi-threaded context, there is no differences with BLI_task_pool_create(), but in single-threaded case it is ensured to have at least one worker thread to run on (i.e. you don't have to call BLI_task_pool_work_and_wait on it to be sure it will be processed).
Definition at line 423 of file task_pool.cc.
References TASK_POOL_BACKGROUND, and task_pool_create_ex().
Referenced by filelist_cache_preview_ensure_running().
| TaskPool* BLI_task_pool_create_background_serial | ( | void * | userdata, |
| TaskPriority | priority | ||
| ) |
Task pool that executes one task after the other, possibly on different threads but never in parallel.
Definition at line 451 of file task_pool.cc.
References TASK_POOL_BACKGROUND_SERIAL, and task_pool_create_ex().
Referenced by screen_opengl_render_init().
| TaskPool* BLI_task_pool_create_no_threads | ( | void * | userdata | ) |
Single threaded task pool that executes pushed task immediately, for debugging purposes.
Definition at line 442 of file task_pool.cc.
References task_pool_create_ex(), TASK_POOL_NO_THREADS, and TASK_PRIORITY_HIGH.
Referenced by blender::deg::deg_evaluate_task_pool_create().
| TaskPool* BLI_task_pool_create_suspended | ( | void * | userdata, |
| TaskPriority | priority | ||
| ) |
Similar to BLI_task_pool_create() but does not schedule any tasks for execution for until BLI_task_pool_work_and_wait() is called. This helps reducing threading overhead when pushing huge amount of small initial tasks from the main thread.
Definition at line 433 of file task_pool.cc.
References task_pool_create_ex(), and TASK_POOL_TBB_SUSPENDED.
Referenced by blender::deg::deg_evaluate_task_pool_create(), project_paint_op(), and TEST().
| bool BLI_task_pool_current_canceled | ( | TaskPool * | pool | ) |
Definition at line 526 of file task_pool.cc.
References background_task_pool_canceled(), BLI_assert, blender::compositor::pool, TASK_POOL_BACKGROUND, TASK_POOL_BACKGROUND_SERIAL, TASK_POOL_NO_THREADS, TASK_POOL_TBB, TASK_POOL_TBB_SUSPENDED, tbb_task_pool_canceled(), and TaskPool::type.
| void BLI_task_pool_free | ( | TaskPool * | pool | ) |
Definition at line 456 of file task_pool.cc.
References background_task_pool_free(), BLI_mutex_end(), MEM_freeN, blender::compositor::pool, TASK_POOL_BACKGROUND, TASK_POOL_BACKGROUND_SERIAL, TASK_POOL_NO_THREADS, TASK_POOL_TBB, TASK_POOL_TBB_SUSPENDED, tbb_task_pool_free(), TaskPool::type, and TaskPool::user_mutex.
Referenced by BKE_editmesh_loop_tangent_calc(), BKE_lib_override_library_main_operations_create(), BKE_mesh_calc_loop_tangent_ex(), BKE_mesh_normals_loop_split(), BLI_task_parallel_mempool(), blender::deg::deg_evaluate_on_refresh(), distribute_particles_on_dm(), do_sequence_proxy(), filelist_cache_previews_free(), IMB_processor_apply_threaded(), IMB_processor_apply_threaded_scanlines(), lineart_main_occlusion_begin(), project_paint_op(), psys_cache_child_paths(), screen_opengl_render_end(), start_prefetch_threads(), task_parallel_iterator_do(), TEST(), blender::compositor::threading_model_task_stop(), and um_arraystore_free().
| void BLI_task_pool_push | ( | TaskPool * | pool, |
| TaskRunFunction | run, | ||
| void * | taskdata, | ||
| bool | free_taskdata, | ||
| TaskFreeFunction | freedata | ||
| ) |
Definition at line 475 of file task_pool.cc.
References background_task_pool_run(), blender::compositor::pool, blender::compositor::task, TASK_POOL_BACKGROUND, TASK_POOL_BACKGROUND_SERIAL, TASK_POOL_NO_THREADS, TASK_POOL_TBB, TASK_POOL_TBB_SUSPENDED, tbb_task_pool_run(), and TaskPool::type.
Referenced by BKE_editmesh_loop_tangent_calc(), BKE_lib_override_library_main_operations_create(), BKE_mesh_calc_loop_tangent_ex(), BLI_task_parallel_mempool(), distribute_particles_on_dm(), do_sequence_proxy(), filelist_cache_previews_push(), IMB_processor_apply_threaded(), IMB_processor_apply_threaded_scanlines(), lineart_main_occlusion_begin(), loop_split_generator(), project_paint_op(), psys_cache_child_paths(), schedule_write_result(), start_prefetch_threads(), task_parallel_iterator_do(), TEST(), and blender::compositor::threading_model_task_schedule().
| void* BLI_task_pool_user_data | ( | TaskPool * | pool | ) |
Definition at line 541 of file task_pool.cc.
References blender::compositor::pool, and TaskPool::userdata.
Referenced by filelist_cache_preview_runf(), lib_override_library_operations_create_cb(), loop_split_worker(), parallel_iterator_func(), parallel_mempool_func(), prefetch_task_func(), processor_apply_func(), processor_apply_scanline_func(), proxy_task_func(), and write_result_func().
| ThreadMutex* BLI_task_pool_user_mutex | ( | TaskPool * | pool | ) |
Definition at line 546 of file task_pool.cc.
References blender::compositor::pool, and TaskPool::user_mutex.
| void BLI_task_pool_work_and_wait | ( | TaskPool * | pool | ) |
Definition at line 496 of file task_pool.cc.
References background_task_pool_work_and_wait(), blender::compositor::pool, TASK_POOL_BACKGROUND, TASK_POOL_BACKGROUND_SERIAL, TASK_POOL_NO_THREADS, TASK_POOL_TBB, TASK_POOL_TBB_SUSPENDED, tbb_task_pool_work_and_wait(), and TaskPool::type.
Referenced by BKE_editmesh_loop_tangent_calc(), BKE_lib_override_library_main_operations_create(), BKE_mesh_calc_loop_tangent_ex(), BKE_mesh_normals_loop_split(), BLI_task_parallel_mempool(), blender::deg::deg_evaluate_on_refresh(), distribute_particles_on_dm(), do_sequence_proxy(), IMB_processor_apply_threaded(), IMB_processor_apply_threaded_scanlines(), lineart_main_occlusion_begin(), project_paint_op(), psys_cache_child_paths(), screen_opengl_render_end(), start_prefetch_threads(), task_parallel_iterator_do(), TEST(), blender::compositor::threading_model_task_finish(), undomesh_free_data(), undomesh_from_editmesh(), and undomesh_to_editmesh().
| void BLI_task_scheduler_exit | ( | void | ) |
Definition at line 68 of file task_scheduler.cc.
Referenced by WM_exit_ex().
| void BLI_task_scheduler_init | ( | void | ) |
Definition at line 44 of file task_scheduler.cc.
References BLI_system_num_threads_override_get(), BLI_system_thread_count(), num_threads_override, and task_scheduler_num_threads.
Referenced by main().
| int BLI_task_scheduler_num_threads | ( | void | ) |
Definition at line 75 of file task_scheduler.cc.
References task_scheduler_num_threads.
Referenced by BLI_task_graph_edge_create(), BLI_task_graph_node_push_work(), BLI_task_parallel_mempool(), BLI_task_parallel_range(), do_sequence_proxy(), start_prefetch_threads(), task_parallel_iterator_do(), and task_pool_create_ex().