Blender Git Statistics -> Branches -> temp-T78835

"Temp-t78835" branch

Total commits : 16
Total committers : 1
First Commit : July 30, 2020
Latest Commit : July 30, 2020


Commits by Date

DateNumber of Commits
July 30, 202016

Committers

AuthorNumber of Commits
Sergey Sharybin16

Popular Files

FilenameTotal Edits
deg_eval_copy_on_write.cc4
sequencer.c4
BKE_lib_id.h3
BLI_session_uuid.h3
session_uuid.c2
deg_eval_runtime_backup_sequencer.cc2
readfile.c2
BKE_sequencer.h2
sequencer_edit.c2
DNA_sequence_types.h2

Latest commits Feed

July 30, 2020, 14:57 (GMT)
Remove recently introduced explicit flags

After discussion with Brecht it seems to be more semantically correct
to rename NO_MAIN flag to something what resembles copy-on-write process.
July 30, 2020, 14:57 (GMT)
Cleanup: Warning in release builds
July 30, 2020, 14:40 (GMT)
Cleanup: Spelling in comment
July 30, 2020, 14:40 (GMT)
Make sure sequence's UUID is always initialized on read

Previously it would only be assigned if sequence has strip, which
might not be the case if, for example, .blend file is from the future.

This change also makes it possible to use UUID in other functions
involved in reading, like BKE_sequencer_proxy_set().
July 30, 2020, 13:39 (GMT)
Cleanup: Remove unused original pointer in Sequence
July 30, 2020, 13:36 (GMT)
Fix T78835: Ghosting audio after using undo

The root of the issue comes to the fact that sub-data pointers were
used to match strips before/after copy-on-write. The undo system might
re-use sub-data pointers after re-allocating them, making it so that,
for example, pointer used by sound strip is later re-used by video
strip.

This fix takes an advantage of recently introduced per-sequence UUID
and uses it to match sequences before/after copy-on-write.
July 30, 2020, 13:24 (GMT)
BLI: Allow use of SessionUUID in Map
July 30, 2020, 13:06 (GMT)
Sequencer: Ensure UUIDs are updated when needed

Document cases where it seems that they need to be updated, but where
the proper behavior is to not update the UUID.
July 30, 2020, 10:44 (GMT)
Allows to preserve UUIDs on copy, outside of copy-on-write

Could be useful for clipboard implementation where, for example, strips
live outside of any reachable database. The UUID will be generated on
paste, so there is no need to generate new UUID on copy.

While generating UUID is almost harmless, incrementing global counter
increases chance of overflowing the integer sooner.

This changes makes it possible to solve issue when user opens .blend
file with strips, which will generated UUIDs in the lower part of the
integer, and then holds Ctrl-C for a very long time.
July 30, 2020, 10:29 (GMT)
Depsgraph: Add command line argument to debug UUIDs

Will trigger code paths which makes sure UUIDs are generated and
are unique.

Enabled with --debug-depsgraph-uuid (which is also implied by
--debug-depsgraph).
July 30, 2020, 10:23 (GMT)
Sequencer: Add session UUID check function

Is aimed for use during development and debug, to help
verifying that operations do not leave sequences with
invalid UUIDs.
July 30, 2020, 10:23 (GMT)
Sequencer: Add session UUID field to the Sequence
July 30, 2020, 10:23 (GMT)
Depsgraph: Use explicit flag that ID is to copied for copy-on-write

Before this this situation was deducted using NO_MAIN flag, which is
no really reliable.

This new flags makes things explicit. Currently unused, but will be
used by the new code, and will replace legacy checks eventually.
July 30, 2020, 10:23 (GMT)
Initial implementation of generic session UUID API
July 30, 2020, 10:23 (GMT)
Sequencer: Add session UUID to Sequence

This is the first step for having sequences covered with session UUID
with the goal to remove code which uses original sequence pointer to
match sequences.

Currently this UUID is maintained on file load, allocation and leaf
duplication function.There are more cases to cover and ensure UUID
is re-generated or re-used when needed. It will be done as follow-up
development.
July 30, 2020, 09:36 (GMT)
Add generic session UUID structures to DNA

Allows to use pre-defined structure for session UUIDs in all data
structures which needs it: pose channels, sequencer strips, modifiers.

The goal of all this is to have a reliable way of matching original
and copy-on-written versions of data, so that it's possible to
preserve runtime caches.

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2020