|
Blender V4.3
|
#include <cstring>#include "DNA_windowmanager_types.h"#include "MEM_guardedalloc.h"#include "BLI_blenlib.h"#include "BLI_threads.h"#include "BLI_time.h"#include "BLI_utildefines.h"#include "BKE_global.hh"#include "BKE_report.hh"#include "SEQ_prefetch.hh"#include "WM_api.hh"#include "WM_types.hh"#include "wm.hh"#include "wm_event_types.hh"Go to the source code of this file.
Classes | |
| struct | wmJob |
Functions | |
| void | WM_job_main_thread_lock_acquire (wmJob *wm_job) |
| void | WM_job_main_thread_lock_release (wmJob *wm_job) |
| static void | wm_job_main_thread_yield (wmJob *wm_job) |
| static wmJob * | wm_job_find (const wmWindowManager *wm, const void *owner, const eWM_JobType job_type) |
| wmJob * | WM_jobs_get (wmWindowManager *wm, wmWindow *win, const void *owner, const char *name, const eWM_JobFlag flag, const eWM_JobType job_type) |
| bool | WM_jobs_test (const wmWindowManager *wm, const void *owner, int job_type) |
| float | WM_jobs_progress (const wmWindowManager *wm, const void *owner) |
| static void | wm_jobs_update_progress_bars (wmWindowManager *wm) |
| double | WM_jobs_starttime (const wmWindowManager *wm, const void *owner) |
| const char * | WM_jobs_name (const wmWindowManager *wm, const void *owner) |
| void * | WM_jobs_customdata_from_type (wmWindowManager *wm, const void *owner, int job_type) |
| bool | WM_jobs_is_running (const wmJob *wm_job) |
| bool | WM_jobs_is_stopped (const wmWindowManager *wm, const void *owner) |
| void * | WM_jobs_customdata_get (wmJob *wm_job) |
| void | WM_jobs_customdata_set (wmJob *wm_job, void *customdata, void(*free)(void *customdata)) |
| void | WM_jobs_timer (wmJob *wm_job, double time_step, uint note, uint endnote) |
| void | WM_jobs_delay_start (wmJob *wm_job, double delay_time) |
| void | WM_jobs_callbacks (wmJob *wm_job, wm_jobs_start_callback startjob, void(*initjob)(void *), void(*update)(void *), void(*endjob)(void *)) |
| void | WM_jobs_callbacks_ex (wmJob *wm_job, wm_jobs_start_callback startjob, void(*initjob)(void *), void(*update)(void *), void(*endjob)(void *), void(*completed)(void *), void(*canceled)(void *)) |
| static void | wm_jobs_reports_update (wmWindowManager *wm, wmJob *wm_job) |
| static void * | do_job_thread (void *job_v) |
| static void | wm_jobs_test_suspend_stop (wmWindowManager *wm, wmJob *test) |
| void | WM_jobs_start (wmWindowManager *wm, wmJob *wm_job) |
| static void | wm_job_end (wmWindowManager *wm, wmJob *wm_job) |
| static void | wm_job_free (wmWindowManager *wm, wmJob *wm_job) |
| static void | wm_jobs_kill_job (wmWindowManager *wm, wmJob *wm_job) |
| void | WM_jobs_kill_all (wmWindowManager *wm) |
| void | WM_jobs_kill_all_except (wmWindowManager *wm, const void *owner) |
| void | WM_jobs_kill_type (wmWindowManager *wm, const void *owner, int job_type) |
| void | WM_jobs_kill_all_from_owner (wmWindowManager *wm, const void *owner) |
| void | WM_jobs_stop_type (wmWindowManager *wm, const void *owner, eWM_JobType job_type) |
| void | WM_jobs_stop_all_from_owner (wmWindowManager *wm, const void *owner) |
| void | wm_jobs_timer_end (wmWindowManager *wm, wmTimer *wt) |
| void | wm_jobs_timer (wmWindowManager *wm, wmTimer *wt) |
| bool | WM_jobs_has_running (const wmWindowManager *wm) |
| bool | WM_jobs_has_running_type (const wmWindowManager *wm, int job_type) |
Threaded job manager (high level job access).
Definition in file wm_jobs.cc.
|
static |
Definition at line 394 of file wm_jobs.cc.
References wmJob::ready, wmJob::run_customdata, wmJob::startjob, and wmJob::worker_status.
Referenced by WM_jobs_start().
|
static |
Definition at line 509 of file wm_jobs.cc.
References BLI_assert_msg, BLI_thread_is_main(), wmJob::canceled, wmJob::completed, wmJob::endjob, G, wmJob::ready, wmJob::run_customdata, wmJobWorkerStatus::stop, wm_jobs_reports_update(), and wmJob::worker_status.
Referenced by wm_jobs_kill_job(), and wm_jobs_timer().
|
static |
Finds if type or owner, compare for it, otherwise any matching job.
Definition at line 160 of file wm_jobs.cc.
References wmWindowManager::jobs, LISTBASE_FOREACH, and WM_JOB_TYPE_ANY.
Referenced by WM_jobs_customdata_from_type(), WM_jobs_get(), WM_jobs_is_stopped(), WM_jobs_name(), WM_jobs_progress(), and WM_jobs_starttime().
|
static |
Definition at line 530 of file wm_jobs.cc.
References BKE_reports_free(), BLI_assert, BLI_listbase_is_empty(), BLI_remlink(), BLI_ticket_mutex_free(), wmWindowManager::jobs, ReportList::list, wmJob::main_thread_mutex, MEM_freeN(), wmJobWorkerStatus::reports, WM_job_main_thread_lock_release(), and wmJob::worker_status.
Referenced by wm_jobs_kill_job(), and wm_jobs_timer().
| void WM_job_main_thread_lock_acquire | ( | wmJob * | wm_job | ) |
Definition at line 139 of file wm_jobs.cc.
References BLI_ticket_mutex_lock(), and wmJob::main_thread_mutex.
Referenced by WM_jobs_get(), wm_jobs_kill_job(), and wm_jobs_timer().
| void WM_job_main_thread_lock_release | ( | wmJob * | wm_job | ) |
Definition at line 144 of file wm_jobs.cc.
References BLI_ticket_mutex_unlock(), and wmJob::main_thread_mutex.
Referenced by wm_job_free(), wm_jobs_kill_job(), and wm_jobs_timer().
|
static |
Definition at line 149 of file wm_jobs.cc.
References BLI_ticket_mutex_lock(), BLI_ticket_mutex_unlock(), and wmJob::main_thread_mutex.
Referenced by wm_jobs_timer().
| void WM_jobs_callbacks | ( | wmJob * | wm_job, |
| wm_jobs_start_callback | startjob, | ||
| void(* | initjob )(void *), | ||
| void(* | update )(void *), | ||
| void(* | endjob )(void *) ) |
Definition at line 364 of file wm_jobs.cc.
References update(), and WM_jobs_callbacks_ex().
Referenced by ABC_export(), ABC_import(), clip_rebuild_proxy_exec(), clip_start_prefetch_job(), dynamicpaint_bake_exec(), ED_preview_icon_job(), ED_preview_shader_job(), ED_seq_proxy_job_get(), EEVEE_NEXT_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start(), fluid_bake_invoke(), fluid_free_exec(), fsmenu_bookmark_validate_job_start(), lineart_bake_common(), blender::ed::object::multiresbake_image_exec(), blender::ed::object::ocean_bake_exec(), pack_islands_exec(), ptcache_bake_invoke(), blender::ed::object::quadriflow_remesh_exec(), screen_render_invoke(), sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), start_audio_video_job(), blender::ed::object::bake_simulation::start_bake_job(), track_markers(), ui_icon_ensure_deferred(), blender::io::usd::USD_export(), and blender::io::usd::USD_import().
| void WM_jobs_callbacks_ex | ( | wmJob * | wm_job, |
| wm_jobs_start_callback | startjob, | ||
| void(* | initjob )(void *), | ||
| void(* | update )(void *), | ||
| void(* | endjob )(void *), | ||
| void(* | completed )(void *), | ||
| void(* | canceled )(void *) ) |
Definition at line 373 of file wm_jobs.cc.
References wmJob::canceled, wmJob::completed, wmJob::endjob, wmJob::initjob, wmJob::startjob, update(), and wmJob::update.
Referenced by blender::ed::object::bake_invoke(), ED_node_composite_job(), and WM_jobs_callbacks().
| void * WM_jobs_customdata_from_type | ( | wmWindowManager * | wm, |
| const void * | owner, | ||
| int | job_type ) |
Definition at line 306 of file wm_jobs.cc.
References wm_job_find(), and WM_jobs_customdata_get().
Referenced by ED_preview_draw(), ED_render_job_get_current_scene(), and ED_render_job_get_scene().
| void * WM_jobs_customdata_get | ( | wmJob * | wm_job | ) |
Definition at line 328 of file wm_jobs.cc.
References wmJob::customdata, and wmJob::run_customdata.
Referenced by ED_preview_icon_job(), ED_seq_proxy_job_get(), PreviewLoadJob::ensure_job(), sequencer_preview_add_sound(), and WM_jobs_customdata_from_type().
| void WM_jobs_customdata_set | ( | wmJob * | wm_job, |
| void * | customdata, | ||
| void(* | free )(void *customdata) ) |
Definition at line 336 of file wm_jobs.cc.
References wmJob::customdata, free(), wmJob::free, wmJob::running, wmJobWorkerStatus::stop, and wmJob::worker_status.
Referenced by ABC_export(), ABC_import(), blender::ed::object::bake_invoke(), clip_rebuild_proxy_exec(), clip_start_prefetch_job(), dynamicpaint_bake_exec(), ED_node_composite_job(), ED_preview_icon_job(), ED_preview_shader_job(), ED_seq_proxy_job_get(), EEVEE_NEXT_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start(), fluid_bake_invoke(), fluid_free_exec(), fsmenu_bookmark_validate_job_start(), lineart_bake_common(), blender::ed::object::multiresbake_image_exec(), blender::ed::object::ocean_bake_exec(), pack_islands_exec(), ptcache_bake_invoke(), blender::ed::object::quadriflow_remesh_exec(), screen_render_invoke(), sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), start_audio_video_job(), blender::ed::object::bake_simulation::start_bake_job(), track_markers(), ui_icon_ensure_deferred(), blender::io::usd::USD_export(), and blender::io::usd::USD_import().
Definition at line 359 of file wm_jobs.cc.
References wmJob::start_delay_time.
Referenced by ED_preview_icon_job(), and screen_render_invoke().
| wmJob * WM_jobs_get | ( | wmWindowManager * | wm, |
| wmWindow * | win, | ||
| const void * | owner, | ||
| const char * | name, | ||
| eWM_JobFlag | flag, | ||
| eWM_JobType | job_type ) |
Definition at line 189 of file wm_jobs.cc.
References BKE_report_print_level_set(), BKE_reports_init(), BLI_addtail(), BLI_assert, BLI_ticket_mutex_alloc(), flag, wmJob::flag, wmJob::job_type, wmWindowManager::jobs, wmJob::main_thread_mutex, MEM_callocN, wmJob::name, wmJob::owner, wmJobWorkerStatus::reports, RPT_PRINT, RPT_STORE, RPT_WARNING, STRNCPY, wmJob::win, wm_job_find(), WM_job_main_thread_lock_acquire(), WM_JOB_TYPE_ANY, and wmJob::worker_status.
Referenced by ABC_export(), ABC_import(), blender::ed::object::bake_invoke(), clip_rebuild_proxy_exec(), clip_start_prefetch_job(), dynamicpaint_bake_exec(), ED_node_composite_job(), ED_preview_icon_job(), ED_preview_shader_job(), ED_seq_proxy_wm_job_get(), EEVEE_NEXT_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start(), fluid_bake_invoke(), fluid_free_exec(), fsmenu_bookmark_validate_job_start(), lineart_bake_common(), blender::ed::object::multiresbake_image_exec(), blender::ed::object::ocean_bake_exec(), pack_islands_exec(), ptcache_bake_invoke(), blender::ed::object::quadriflow_remesh_exec(), screen_render_invoke(), sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), start_audio_video_job(), blender::ed::object::bake_simulation::start_bake_job(), track_markers(), ui_icon_ensure_deferred(), blender::io::usd::USD_export(), and blender::io::usd::USD_import().
| bool WM_jobs_has_running | ( | const wmWindowManager * | wm | ) |
Definition at line 745 of file wm_jobs.cc.
References wmWindowManager::jobs, LISTBASE_FOREACH, and wmJob::running.
| bool WM_jobs_has_running_type | ( | const wmWindowManager * | wm, |
| int | job_type ) |
Definition at line 756 of file wm_jobs.cc.
References wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH, and wmJob::running.
Referenced by bpy_app_is_job_running().
| bool WM_jobs_is_running | ( | const wmJob * | wm_job | ) |
Definition at line 317 of file wm_jobs.cc.
References wmJob::running.
Referenced by blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), seq_build_proxy(), seq_proxy_build_job(), and sequencer_preview_add_sound().
| bool WM_jobs_is_stopped | ( | const wmWindowManager * | wm, |
| const void * | owner ) |
Definition at line 322 of file wm_jobs.cc.
References wmJobWorkerStatus::stop, wm_job_find(), WM_JOB_TYPE_ANY, and wmJob::worker_status.
Referenced by uiTemplateRunningJobs().
| void WM_jobs_kill_all | ( | wmWindowManager * | wm | ) |
Wait until every job ended.
Definition at line 576 of file wm_jobs.cc.
References ListBase::first, wmWindowManager::jobs, SEQ_prefetch_stop_all(), and wm_jobs_kill_job().
Referenced by ed_undo_step_pre(), WM_exit_ex(), and wm_file_read_setup_wm_init().
| void WM_jobs_kill_all_except | ( | wmWindowManager * | wm, |
| const void * | owner ) |
Wait until every job ended, except for one owner (used in undo to keep screen job alive).
Definition at line 588 of file wm_jobs.cc.
References wmWindowManager::jobs, LISTBASE_FOREACH_MUTABLE, wmJob::owner, and wm_jobs_kill_job().
Referenced by screen_opengl_render_init(), and screen_render_invoke().
| void WM_jobs_kill_all_from_owner | ( | wmWindowManager * | wm, |
| const void * | owner ) |
Terminate thread and timer of all jobs from this owner.
Beware of the impact of calling this. For example passing the scene will kill all jobs having the scene as owner, even otherwise unrelated jobs.
Definition at line 612 of file wm_jobs.cc.
References wmWindowManager::jobs, LISTBASE_FOREACH_MUTABLE, wmJob::owner, and wm_jobs_kill_job().
Referenced by ED_scene_delete().
|
static |
Definition at line 543 of file wm_jobs.cc.
References BLI_threadpool_end(), wmJob::customdata, wmJob::flag, wmJob::free, wmJob::run_customdata, wmJob::run_free, wmJob::running, wmJobWorkerStatus::stop, wmJob::threads, wmJob::win, WM_event_timer_remove(), wm_job_end(), wm_job_free(), WM_job_main_thread_lock_acquire(), WM_job_main_thread_lock_release(), WM_JOB_PROGRESS, wm_jobs_update_progress_bars(), wmJob::worker_status, and wmJob::wt.
Referenced by WM_jobs_kill_all(), WM_jobs_kill_all_except(), WM_jobs_kill_all_from_owner(), WM_jobs_kill_type(), and wm_jobs_timer_end().
| void WM_jobs_kill_type | ( | wmWindowManager * | wm, |
| const void * | owner, | ||
| int | job_type ) |
Terminate thread and timer of all jobs of this type and owner (if non-null).
Don't pass WM_JOB_TYPE_ANY as job_type. Use WM_jobs_kill_all_from_owner() instead.
Definition at line 597 of file wm_jobs.cc.
References BLI_assert, wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH_MUTABLE, wmJob::owner, WM_JOB_TYPE_ANY, and wm_jobs_kill_job().
Referenced by ED_preview_kill_jobs(), ED_view3d_stop_render_preview(), filelist_readjob_stop(), blender::ed::space_node::free_previews(), fsmenu_bookmark_validate_job_stop(), lightprobe_cache_bake_cancel(), lightprobe_cache_free_exec(), ptcache_bake_cancel(), reload_exec(), screen_render_cancel(), sequencer_stop_running_jobs(), and ui_studiolight_kill_icon_preview_job().
| const char * WM_jobs_name | ( | const wmWindowManager * | wm, |
| const void * | owner ) |
Definition at line 295 of file wm_jobs.cc.
References wmJob::name, wm_job_find(), and WM_JOB_TYPE_ANY.
Referenced by uiTemplateRunningJobs().
| float WM_jobs_progress | ( | const wmWindowManager * | wm, |
| const void * | owner ) |
Definition at line 243 of file wm_jobs.cc.
References wmJob::flag, wmJobWorkerStatus::progress, wm_job_find(), WM_JOB_PROGRESS, WM_JOB_TYPE_ANY, and wmJob::worker_status.
Referenced by progress_tooltip_func(), and uiTemplateRunningJobs().
|
static |
Definition at line 389 of file wm_jobs.cc.
References wmJobWorkerStatus::reports, WM_reports_from_reports_move(), and wmJob::worker_status.
Referenced by wm_job_end(), and wm_jobs_timer().
| void WM_jobs_start | ( | wmWindowManager * | wm, |
| wmJob * | wm_job ) |
Register the given wm_job and try to start it immediately.
The new wm_job will not start immediately and wait for other blocking jobs to end in some way if:
If the new wm_job is flagged with WM_JOB_PRIORITY, it will request other blocking jobs to stop (using #WM_jobs_stop(), so this doesn't take immediate effect) rather than finish its work.
Definition at line 455 of file wm_jobs.cc.
References BLI_threadpool_init(), BLI_threadpool_insert(), BLI_time_now_seconds(), wmJob::customdata, do_job_thread(), wmJob::free, wmJob::initjob, printf, wmJobWorkerStatus::progress, wmJob::ready, wmJob::run_customdata, wmJob::run_free, wmJob::running, wmJob::start_delay_time, wmJob::start_time, wmJob::startjob, wmJobWorkerStatus::stop, wmJob::suspended, wmJob::threads, wmJob::time_step, wmTimer::time_step, TIMERJOBS, wmJob::win, WM_event_timer_add(), WM_event_timer_remove(), wm_jobs_test_suspend_stop(), wmJob::worker_status, and wmJob::wt.
Referenced by ABC_export(), ABC_import(), blender::ed::object::bake_invoke(), clip_rebuild_proxy_exec(), clip_start_prefetch_job(), dynamicpaint_bake_exec(), ED_node_composite_job(), ED_preview_icon_job(), ED_preview_shader_job(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start(), fluid_bake_invoke(), fluid_free_exec(), fsmenu_bookmark_validate_job_start(), lightprobe_cache_bake_invoke(), lineart_bake_common(), blender::ed::object::multiresbake_image_exec(), blender::ed::object::ocean_bake_exec(), pack_islands_exec(), ptcache_bake_invoke(), blender::ed::object::quadriflow_remesh_exec(), screen_render_invoke(), seq_build_proxy(), seq_proxy_build_job(), sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), start_audio_video_job(), blender::ed::object::bake_simulation::start_bake_job(), track_markers(), ui_icon_ensure_deferred(), blender::io::usd::USD_export(), blender::io::usd::USD_import(), and wm_jobs_timer().
| double WM_jobs_starttime | ( | const wmWindowManager * | wm, |
| const void * | owner ) |
Time that job started.
Definition at line 284 of file wm_jobs.cc.
References wmJob::flag, wmJob::start_time, wm_job_find(), WM_JOB_PROGRESS, and WM_JOB_TYPE_ANY.
Referenced by progress_tooltip_func().
| void WM_jobs_stop_all_from_owner | ( | wmWindowManager * | wm, |
| const void * | owner ) |
Signal all jobs from this owner to stop, timer is required to get handled.
Beware of the impact of calling this. For example passing the scene will stop all jobs having the scene as owner, even otherwise unrelated jobs.
Definition at line 637 of file wm_jobs.cc.
References wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::owner, wmJob::running, wmJobWorkerStatus::stop, and wmJob::worker_status.
Referenced by do_running_jobs().
| void WM_jobs_stop_type | ( | wmWindowManager * | wm, |
| const void * | owner, | ||
| eWM_JobType | job_type ) |
Signal all jobs of this type and owner (if non-null) to stop, timer is required to get handled.
Don't pass WM_JOB_TYPE_ANY as job_type. Use WM_jobs_stop_all_from_owner() instead.
Definition at line 621 of file wm_jobs.cc.
References BLI_assert, wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::owner, wmJob::running, wmJobWorkerStatus::stop, WM_JOB_TYPE_ANY, and wmJob::worker_status.
Referenced by EEVEE_NEXT_lightbake_job_create(), and blender::ed::space_node::ensure_nodetree_previews().
| bool WM_jobs_test | ( | const wmWindowManager * | wm, |
| const void * | owner, | ||
| int | job_type ) |
Returns true if job runs, for UI (progress) indicators.
Definition at line 223 of file wm_jobs.cc.
References ELEM, wmWindowManager::jobs, LISTBASE_FOREACH, WM_JOB_PROGRESS, and WM_JOB_TYPE_ANY.
Referenced by blender::ed::object::bake_invoke(), blender::ed::object::bake_modal(), blender::ed::object::bake_simulation::bake_simulation_modal(), blender::ed::object::bake_simulation::bake_single_node_modal(), clip_prefetch_modal(), ED_preview_draw(), ED_undo_operator_repeat(), EEVEE_NEXT_lightbake_job_create(), filelist_readjob_running(), fluid_bake_modal(), lightprobe_cache_bake_modal(), lineart_bake_strokes_common_modal(), blender::ed::object::objects_bake_render_modal(), ptcache_bake_modal(), RE_FreeUnusedGPUResources(), screen_opengl_render_init(), screen_render_invoke(), screen_render_modal(), blender::ed::object::bake_simulation::simulate_to_frame_modal(), solve_camera_invoke(), solve_camera_modal(), track_markers(), track_markers_modal(), uiTemplateRunningJobs(), and WM_operator_check_ui_enabled().
|
static |
Definition at line 405 of file wm_jobs.cc.
References wmJob::flag, wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::name, printf, wmJob::running, wmJob::start_delay_time, wmJobWorkerStatus::stop, wmJob::suspended, WM_JOB_EXCL_RENDER, WM_JOB_PRIORITY, and wmJob::worker_status.
Referenced by WM_jobs_start().
Definition at line 352 of file wm_jobs.cc.
References wmJob::endnote, wmJob::note, and wmJob::time_step.
Referenced by ABC_export(), ABC_import(), blender::ed::object::bake_invoke(), clip_rebuild_proxy_exec(), clip_start_prefetch_job(), dynamicpaint_bake_exec(), ED_node_composite_job(), ED_preview_icon_job(), ED_preview_shader_job(), ED_seq_proxy_job_get(), EEVEE_NEXT_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start(), fluid_bake_invoke(), fluid_free_exec(), fsmenu_bookmark_validate_job_start(), lineart_bake_common(), blender::ed::object::multiresbake_image_exec(), blender::ed::object::ocean_bake_exec(), pack_islands_exec(), ptcache_bake_invoke(), blender::ed::object::quadriflow_remesh_exec(), screen_render_invoke(), sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), start_audio_video_job(), blender::ed::object::bake_simulation::start_bake_job(), track_markers(), ui_icon_ensure_deferred(), blender::io::usd::USD_export(), and blender::io::usd::USD_import().
| void wm_jobs_timer | ( | wmWindowManager * | wm, |
| wmTimer * | wt ) |
Hard-coded to event TIMERJOBS.
Definition at line 656 of file wm_jobs.cc.
References BLI_findptr(), BLI_threadpool_end(), BLI_time_now_seconds(), wmJob::customdata, wmJobWorkerStatus::do_update, wmJob::endnote, ListBase::first, wmJob::flag, G, G_DEBUG_JOBS, wmWindowManager::jobs, wmJob::name, NC_WM, ND_JOB, wmJob::note, offsetof, printf, wmJob::ready, wmJob::run_customdata, wmJob::run_free, wmJob::running, wmJob::start_time, wmJob::suspended, wmJob::threads, wmJob::update, wmJob::win, WM_event_add_notifier_ex(), WM_event_timer_remove(), wm_job_end(), wm_job_free(), WM_job_main_thread_lock_acquire(), WM_job_main_thread_lock_release(), wm_job_main_thread_yield(), WM_JOB_PROGRESS, wm_jobs_reports_update(), WM_jobs_start(), wm_jobs_update_progress_bars(), wmJob::worker_status, and wmJob::wt.
Referenced by wm_window_timers_process().
| void wm_jobs_timer_end | ( | wmWindowManager * | wm, |
| wmTimer * | wt ) |
Kill job entirely, also removes timer itself.
Definition at line 648 of file wm_jobs.cc.
References BLI_findptr(), wmWindowManager::jobs, offsetof, and wm_jobs_kill_job().
Referenced by wm_window_free().
|
static |
Definition at line 254 of file wm_jobs.cc.
References float, wmWindowManager::jobs, LISTBASE_FOREACH, wmWindowManager::windows, WM_JOB_PROGRESS, WM_progress_clear(), and WM_progress_set().
Referenced by wm_jobs_kill_job(), and wm_jobs_timer().