Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-07-01 16:23:42 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-07-01 16:36:02 +0300
commit2698544db2a19436155191608e4ef13c001b8209 (patch)
tree2d369a6ac5610fef85f2cabe94029b3699913acb /source/blender/draw/intern
parent3c6260d42de007c223c4bdb1bc8ed5431f2f2963 (diff)
Fix T66262: slow preview icon loading
Diffstat (limited to 'source/blender/draw/intern')
-rw-r--r--source/blender/draw/intern/draw_manager_shader.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/source/blender/draw/intern/draw_manager_shader.c b/source/blender/draw/intern/draw_manager_shader.c
index 5c3b5aa8a8e..d0aa6d55c03 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -202,12 +202,8 @@ static void drw_deferred_shader_add(GPUMaterial *mat, bool deferred)
/* Get the running job or a new one if none is running. Can only have one job per type & owner.
*/
- wmJob *wm_job = WM_jobs_get(wm,
- win,
- scene,
- "Shaders Compilation",
- WM_JOB_PROGRESS | WM_JOB_SUSPEND,
- WM_JOB_TYPE_SHADER_COMPILATION);
+ wmJob *wm_job = WM_jobs_get(
+ wm, win, scene, "Shaders Compilation", WM_JOB_PROGRESS, WM_JOB_TYPE_SHADER_COMPILATION);
DRWShaderCompiler *old_comp = (DRWShaderCompiler *)WM_jobs_customdata_get(wm_job);
@@ -238,6 +234,7 @@ static void drw_deferred_shader_add(GPUMaterial *mat, bool deferred)
WM_jobs_customdata_set(wm_job, comp, drw_deferred_shader_compilation_free);
WM_jobs_timer(wm_job, 0.1, NC_MATERIAL | ND_SHADING_DRAW, 0);
+ WM_jobs_delay_start(wm_job, 0.1);
WM_jobs_callbacks(wm_job, drw_deferred_shader_compilation_exec, NULL, NULL, NULL);
WM_jobs_start(wm, wm_job);
}
@@ -252,12 +249,8 @@ void DRW_deferred_shader_remove(GPUMaterial *mat)
continue;
}
for (wmWindow *win = wm->windows.first; win; win = win->next) {
- wmJob *wm_job = WM_jobs_get(wm,
- win,
- scene,
- "Shaders Compilation",
- WM_JOB_PROGRESS | WM_JOB_SUSPEND,
- WM_JOB_TYPE_SHADER_COMPILATION);
+ wmJob *wm_job = WM_jobs_get(
+ wm, win, scene, "Shaders Compilation", WM_JOB_PROGRESS, WM_JOB_TYPE_SHADER_COMPILATION);
DRWShaderCompiler *comp = (DRWShaderCompiler *)WM_jobs_customdata_get(wm_job);
if (comp != NULL) {