diff options
author | Richard Antalik <richardantalik@gmail.com> | 2019-05-23 21:52:28 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2019-05-23 21:52:28 +0300 |
commit | fd51d2f97cbe0117e8939396f196366a0043849e (patch) | |
tree | b0d1c8c41fa1cf0332cac64424b0b20191069411 /source/blender/editors | |
parent | 1fd7b380f4cf8a0489b405de2819f228a4da5ea2 (diff) |
VSE: minimal cache invalidation
Diffstat (limited to 'source/blender/editors')
3 files changed, 9 insertions, 14 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index a3030153e6c..a998ae7a7b3 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -2680,7 +2680,7 @@ static int sequencer_meta_make_exec(bContext *C, wmOperator *op) while (seq) { next = seq->next; if (seq != seqm && (seq->flag & SELECT)) { - BKE_sequence_invalidate_cache(scene, seq); + BKE_sequence_invalidate_dependent(scene, seq); channel_max = max_ii(seq->machine, channel_max); BLI_remlink(ed->seqbasep, seq); BLI_addtail(&seqm->seqbase, seq); @@ -2755,7 +2755,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op)) } for (seq = last_seq->seqbase.first; seq != NULL; seq = seq->next) { - BKE_sequence_invalidate_cache(scene, seq); + BKE_sequence_invalidate_dependent(scene, seq); } BLI_movelisttolist(ed->seqbasep, &last_seq->seqbase); @@ -3518,8 +3518,8 @@ static int sequencer_swap_data_exec(bContext *C, wmOperator *op) BKE_sound_add_scene_sound_defaults(scene, seq_other); } - BKE_sequence_invalidate_cache(scene, seq_act); - BKE_sequence_invalidate_cache(scene, seq_other); + BKE_sequence_invalidate_cache_raw(scene, seq_act); + BKE_sequence_invalidate_cache_raw(scene, seq_other); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); diff --git a/source/blender/editors/space_sequencer/sequencer_modifier.c b/source/blender/editors/space_sequencer/sequencer_modifier.c index e00d33853a3..f262c6518aa 100644 --- a/source/blender/editors/space_sequencer/sequencer_modifier.c +++ b/source/blender/editors/space_sequencer/sequencer_modifier.c @@ -64,7 +64,7 @@ static int strip_modifier_add_exec(bContext *C, wmOperator *op) BKE_sequence_modifier_new(seq, NULL, type); - BKE_sequence_invalidate_cache(scene, seq); + BKE_sequence_invalidate_cache_preprocessed(scene, seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); return OPERATOR_FINISHED; @@ -115,7 +115,7 @@ static int strip_modifier_remove_exec(bContext *C, wmOperator *op) BLI_remlink(&seq->modifiers, smd); BKE_sequence_modifier_free(smd); - BKE_sequence_invalidate_cache(scene, seq); + BKE_sequence_invalidate_cache_preprocessed(scene, seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); return OPERATOR_FINISHED; @@ -175,7 +175,7 @@ static int strip_modifier_move_exec(bContext *C, wmOperator *op) } } - BKE_sequence_invalidate_cache(scene, seq); + BKE_sequence_invalidate_cache_preprocessed(scene, seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); return OPERATOR_FINISHED; @@ -249,7 +249,7 @@ static int strip_modifier_copy_exec(bContext *C, wmOperator *op) } SEQ_END; - BKE_sequence_invalidate_cache(scene, seq); + BKE_sequence_invalidate_cache_preprocessed(scene, seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); return OPERATOR_FINISHED; diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 758551be0b5..6a9c6856a03 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1177,12 +1177,7 @@ static void recalcData_sequencer(TransInfo *t) Sequence *seq = tdsq->seq; if (seq != seq_prev) { - if (BKE_sequence_tx_fullupdate_test(seq)) { - BKE_sequence_invalidate_cache(t->scene, seq); - } - else { - BKE_sequence_invalidate_cache(t->scene, seq); - } + BKE_sequence_invalidate_cache_composite(t->scene, seq); } seq_prev = seq; |