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:
authorSergey Sharybin <sergey@blender.org>2022-09-13 16:56:54 +0300
committerSergey Sharybin <sergey@blender.org>2022-09-13 17:05:16 +0300
commit109cc14dba98db2b10688da8737b528877464d2c (patch)
tree25424c7113091503cff16746310597892e80248c /source/blender/depsgraph/intern/eval/deg_eval_flush.cc
parent8442b0ffc1df59cf6e557e7243b9197b2a898aa0 (diff)
Revert hidden object optimization in depsgraph
The internal state tracking is not fully suited for such kind of optimization yet. It is probably not that much work to make them work, but the issue caused by the changes is serious enough for the studio so it feels better to revert changes for now and have a closer look into remaining issues without pressure.
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval_flush.cc')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_flush.cc17
1 files changed, 0 insertions, 17 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
index 3f42d1a80c1..09981eb32c5 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
@@ -31,7 +31,6 @@
#include "intern/debug/deg_debug.h"
#include "intern/depsgraph.h"
#include "intern/depsgraph_relation.h"
-#include "intern/depsgraph_tag.h"
#include "intern/depsgraph_type.h"
#include "intern/depsgraph_update.h"
#include "intern/node/deg_node.h"
@@ -100,18 +99,6 @@ inline void flush_prepare(Depsgraph *graph)
inline void flush_schedule_entrypoints(Depsgraph *graph, FlushQueue *queue)
{
- /* Something changed in the scene, so re-tag IDs with flags which were previously ignored due to
- * ID being hidden. This will ensure the ID is properly evaluated when it becomes visible. */
- for (IDNode *node : graph->id_nodes) {
- if (node->id_invisible_recalc) {
- graph_id_tag_update(graph->bmain,
- graph,
- node->id_orig,
- node->id_invisible_recalc,
- DEG_UPDATE_SOURCE_VISIBILITY);
- }
- }
-
for (OperationNode *op_node : graph->entry_tags) {
queue->push_back(op_node);
op_node->scheduled = true;
@@ -384,10 +371,6 @@ void deg_graph_flush_updates(Depsgraph *graph)
while (op_node != nullptr) {
/* Tag operation as required for update. */
op_node->flag |= DEPSOP_FLAG_NEEDS_UPDATE;
- /* Tag depsgraph visibility update when visibility operation is tagged for an update. */
- if (op_node->opcode == OperationCode::VISIBILITY) {
- graph->need_update_nodes_visibility = true;
- }
/* Inform corresponding ID and component nodes about the change. */
ComponentNode *comp_node = op_node->owner;
IDNode *id_node = comp_node->owner;