Page MenuHome

Status bar indicates wrong information after cancelling a render
Closed, ResolvedPublicBUG


System Information
Operating system: Fedora 30

Blender Version
Broken: (example: 2.80 Release Candidate

Short description of error
Status bar shows wrong information after cancelling a render.

Exact steps for others to reproduce the error
Load a blend file (one of those linked here : The status bar indicates "Shaders Compilation" and the current progress.
Start a render, then cancel it.
Now, the status bar indicates "Cancelling..." instead of "Shaders Compilation" when you load another blend file.

Event Timeline

Confirmed on Windows. Opening a new .blend does not reset it and it will show "Cancelling..." while doing the shader compilation for the newly opened file.

Germano Cavalcante (mano-wii) lowered the priority of this task from 90 to 30.Jul 15 2019, 5:26 PM

Cycles or Eevee?
Which scene did you use to test?

I did test with Eevee.
The problem occurs with any scenes that can be downloaded from the link I provided in the bug report.
Please note that the problems also occurs when you cancel the shaders compilation and then load another scene, the status bar will then also indicates "Cancelling...".

I did it with the Tree Creature scene.

Germano Cavalcante (mano-wii) raised the priority of this task from 30 to 50.

You don't need to render to test (just cancel when you see "Compiling Shaders" when opening the file).
G.is_break remains true between files.
Here is a solution:

diff --git a/source/blender/draw/intern/draw_manager_shader.c b/source/blender/draw/intern/draw_manager_shader.c
index d0aa6d55c03..3fe9e5beb07 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -236,6 +236,9 @@ static void drw_deferred_shader_add(GPUMaterial *mat, bool deferred)
   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);
+  G.is_break = false;
   WM_jobs_start(wm, wm_job);
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".Jan 24 2020, 6:54 PM