|
Blender V4.5
|
#include <cstring>#include "DNA_windowmanager_types.h"#include "MEM_guardedalloc.h"#include "BLI_listbase.h"#include "BLI_string.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 395 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 510 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, 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 161 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 531 of file wm_jobs.cc.
References BKE_reports_free(), BLI_assert, BLI_listbase_is_empty(), BLI_remlink(), BLI_ticket_mutex_free(), wmWindowManager::jobs, wmJob::main_thread_mutex, MEM_freeN(), 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 140 of file wm_jobs.cc.
References BLI_ticket_mutex_lock(), and wmJob::main_thread_mutex.
Referenced by opengl_render_startjob(), WM_jobs_get(), wm_jobs_kill_job(), and wm_jobs_timer().
| void WM_job_main_thread_lock_release | ( | wmJob * | wm_job | ) |
Definition at line 145 of file wm_jobs.cc.
References BLI_ticket_mutex_unlock(), and wmJob::main_thread_mutex.
Referenced by opengl_render_startjob(), wm_job_free(), wm_jobs_kill_job(), and wm_jobs_timer().
|
static |
Definition at line 150 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 365 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(), blender::seq::ED_seq_proxy_job_get(), EEVEE_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start_ex(), 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_opengl_render_invoke(), screen_render_invoke(), blender::ed::vse::sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), blender::ed::vse::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 374 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 307 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 329 of file wm_jobs.cc.
References wmJob::customdata, and wmJob::run_customdata.
Referenced by ED_preview_icon_job(), blender::seq::ED_seq_proxy_job_get(), PreviewLoadJob::ensure_job(), blender::ed::vse::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 337 of file wm_jobs.cc.
References wmJob::customdata, free(), wmJob::free, wmJob::running, 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(), blender::seq::ED_seq_proxy_job_get(), EEVEE_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start_ex(), 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_opengl_render_invoke(), screen_render_invoke(), blender::ed::vse::sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), blender::ed::vse::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_delay_start | ( | wmJob * | wm_job, |
| double | delay_time ) |
Definition at line 360 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 190 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, 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(), blender::seq::ED_seq_proxy_wm_job_get(), EEVEE_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start_ex(), 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_opengl_render_invoke(), screen_render_invoke(), blender::ed::vse::sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), blender::ed::vse::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 746 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 757 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 318 of file wm_jobs.cc.
References wmJob::running.
Referenced by blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::vse::seq_build_proxy(), blender::ed::vse::seq_proxy_build_job(), and blender::ed::vse::sequencer_preview_add_sound().
| bool WM_jobs_is_stopped | ( | const wmWindowManager * | wm, |
| const void * | owner ) |
Definition at line 323 of file wm_jobs.cc.
References 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 577 of file wm_jobs.cc.
References ListBase::first, wmWindowManager::jobs, blender::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 589 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 613 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 544 of file wm_jobs.cc.
References BLI_threadpool_end(), wmJob::customdata, wmJob::flag, wmJob::free, wmJob::run_customdata, wmJob::run_free, wmJob::running, 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 598 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_preview_kill_jobs_for_id(), 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_opengl_render_cancel(), screen_render_cancel(), blender::ed::vse::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 296 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 244 of file wm_jobs.cc.
References wmJob::flag, 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 390 of file wm_jobs.cc.
References 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 456 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, wmJob::ready, wmJob::run_customdata, wmJob::run_free, wmJob::running, wmJob::start_delay_time, wmJob::start_time, wmJob::startjob, 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_ex(), 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_opengl_render_invoke(), screen_render_invoke(), blender::ed::vse::seq_build_proxy(), blender::ed::vse::seq_proxy_build_job(), blender::ed::vse::sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), blender::ed::vse::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 285 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 638 of file wm_jobs.cc.
References wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::owner, wmJob::running, 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 622 of file wm_jobs.cc.
References BLI_assert, wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::owner, wmJob::running, WM_JOB_TYPE_ANY, and wmJob::worker_status.
Referenced by EEVEE_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 224 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_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_opengl_render_modal(), 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 406 of file wm_jobs.cc.
References wmJob::flag, wmJob::job_type, wmWindowManager::jobs, LISTBASE_FOREACH, wmJob::name, printf, wmJob::running, wmJob::start_delay_time, wmJob::suspended, WM_JOB_EXCL_RENDER, WM_JOB_PRIORITY, and wmJob::worker_status.
Referenced by WM_jobs_start().
Definition at line 353 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(), blender::seq::ED_seq_proxy_job_get(), EEVEE_lightbake_job_create(), blender::seq::ThumbGenerationJob::ensure_job(), PreviewLoadJob::ensure_job(), blender::ed::space_node::ensure_nodetree_previews(), filelist_readjob_start_ex(), 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_opengl_render_invoke(), screen_render_invoke(), blender::ed::vse::sequencer_preview_add_sound(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), solve_camera_invoke(), blender::ed::vse::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 657 of file wm_jobs.cc.
References BLI_findptr(), BLI_threadpool_end(), BLI_time_now_seconds(), wmJob::customdata, 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 649 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 255 of file wm_jobs.cc.
References wmWindowManager::jobs, LISTBASE_FOREACH, progress, wmWindowManager::windows, WM_JOB_PROGRESS, WM_progress_clear(), and WM_progress_set().
Referenced by wm_jobs_kill_job(), and wm_jobs_timer().