[Bf-blender-cvs] [6cad7984c69] blender2.8: Fix missing shader compilation progress bar.
Brecht Van Lommel
noreply at git.blender.org
Fri Aug 17 15:55:33 CEST 2018
Commit: 6cad7984c699e7ac1681c1351eb33ce68aac5b4d
Author: Brecht Van Lommel
Date: Fri Aug 17 15:36:47 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB6cad7984c699e7ac1681c1351eb33ce68aac5b4d
Fix missing shader compilation progress bar.
===================================================================
M source/blender/draw/intern/draw_manager_shader.c
===================================================================
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) {
More information about the Bf-blender-cvs
mailing list