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 <brecht@blender.org>2021-01-28 15:36:23 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-01-29 17:52:53 +0300
commit0e37d3efc017151309b272e4562edd901bfbde7a (patch)
tree868a547025ef98ba33eb4e64280d514b325ad44e /source/blender/editors/include
parent087777f2b9b8c7cfc75458c6e6e714e92e2e2851 (diff)
Fix T84717: missing 3D viewport updates when changing shading settings
Previously this relied on the dependency graph to detect changes in the screen datablock, which would then notify the renderers. This was rather indirect an not even really by design. Instead use notifiers to tag specific 3D viewports to be updated. Includes changes to BKE_scene_get_depsgraph to accept a const Scene pointer. Testing if this works correctly requires adding back commits 81d444c and 088904d, since those have been temporarily reverted. Differential Revision: https://developer.blender.org/D10235
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r--source/blender/editors/include/ED_render.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/editors/include/ED_render.h b/source/blender/editors/include/ED_render.h
index d580e36d0ce..9cdecc444c8 100644
--- a/source/blender/editors/include/ED_render.h
+++ b/source/blender/editors/include/ED_render.h
@@ -29,15 +29,17 @@
extern "C" {
#endif
+struct bContext;
+struct bScreen;
struct DEGEditorUpdateContext;
+struct Depsgraph;
struct ID;
-struct MTex;
struct Main;
+struct MTex;
struct Render;
struct Scene;
struct ScrArea;
-struct bContext;
-struct bScreen;
+struct wmWindow;
struct wmWindowManager;
/* render_ops.c */
@@ -53,7 +55,11 @@ void ED_render_view_layer_changed(struct Main *bmain, struct bScreen *screen);
/* Callbacks handling data update events coming from depsgraph. */
void ED_render_id_flush_update(const struct DEGEditorUpdateContext *update_ctx, struct ID *id);
-void ED_render_scene_update(const struct DEGEditorUpdateContext *update_ctx, int updated);
+void ED_render_scene_update(const struct DEGEditorUpdateContext *update_ctx, const bool updated);
+void ED_render_view3d_update(struct Depsgraph *depsgraph,
+ struct wmWindow *window,
+ struct ScrArea *area,
+ const bool updated);
struct Scene *ED_render_job_get_scene(const struct bContext *C);
struct Scene *ED_render_job_get_current_scene(const struct bContext *C);