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
path: root/source
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-08-17 16:36:47 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-08-17 16:55:21 +0300
commit6cad7984c699e7ac1681c1351eb33ce68aac5b4d (patch)
tree7f2dc597c22e85e0136fa2a06773eaca4259eb07 /source
parentfa708261679e08ed4f2a099ce0b53989922317a4 (diff)
Fix missing shader compilation progress bar.
Diffstat (limited to 'source')
-rw-r--r--source/blender/draw/intern/draw_manager_shader.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_manager_shader.c b/source/blender/draw/intern/draw_manager_shader.c
index 7aa40b0ce04..2730a9f518e 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -37,6 +37,8 @@
#include "BKE_global.h"
#include "BKE_main.h"
+#include "DEG_depsgraph_query.h"
+
#include "GPU_shader.h"
#include "GPU_material.h"
@@ -173,7 +175,9 @@ static void drw_deferred_shader_add(GPUMaterial *mat, bool deferred)
BLI_assert(DST.draw_ctx.evil_C);
wmWindowManager *wm = CTX_wm_manager(DST.draw_ctx.evil_C);
wmWindow *win = CTX_wm_window(DST.draw_ctx.evil_C);
- Scene *scene = DST.draw_ctx.scene;
+
+ /* Use original scene ID since this is what the jobs template tests for. */
+ Scene *scene = (Scene *)DEG_get_original_id(&DST.draw_ctx.scene->id);
/* 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",
@@ -215,6 +219,7 @@ static void drw_deferred_shader_add(GPUMaterial *mat, bool deferred)
void DRW_deferred_shader_remove(GPUMaterial *mat)
{
Scene *scene = GPU_material_scene(mat);
+ scene = (Scene *)DEG_get_original_id(&DST.draw_ctx.scene->id);
for (wmWindowManager *wm = G_MAIN->wm.first; wm; wm = wm->id.next) {
if (WM_jobs_test(wm, scene, WM_JOB_TYPE_SHADER_COMPILATION) == false) {