Revision e299351 by Bastien Montagne (uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) March 2, 2020, 15:28 (GMT) |
Merge branch 'uuid-id' into uuid-undo-experiments |
Revision 1301d0b by Bastien Montagne (uuid-id, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) March 2, 2020, 15:27 (GMT) |
Forgot to free new id_map uuid ghash in previous commit. |
Revision aec9007 by Bastien Montagne (uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) March 2, 2020, 15:25 (GMT) |
Merge branch 'uuid-id' into uuid-undo-experiments |
Revision 458bfea by Bastien Montagne (uuid-id, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) March 2, 2020, 15:14 (GMT) |
Add uuid support to main_idmap. |
Revision 00988ca by Bastien Montagne (uuid-id, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) March 2, 2020, 11:49 (GMT) |
Merge branch 'master' into uuid-id |
Revision 0c4fdaf by Bastien Montagne (uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 16:42 (GMT) |
Merge branch 'uuid-id' into uuid-undo-experiments |
Revision 8013046 by Bastien Montagne (uuid-id, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 16:39 (GMT) |
Add an session-wise uuid integer to IDs. This is intended to provide undo with a way to find IDs across several 'memory realms' (undo speedup project). |
Revision 2393fd3 by Bastien Montagne (uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 14:36 (GMT) |
Fix for undoing 'unique id memaddress' branch. |
Revision 3803263 by Bastien Montagne (uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 14:35 (GMT) |
Merge branch 'master' into uuid-undo-experiments |
Revision afcc442 by Bastien Montagne (uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 14:26 (GMT) |
Revert "Initial rough idea of 'unique ID address' change." This reverts commit 587155745b3b6c4949dd0b155abf24405b436c24. |
Revision da0b2d8 by Bastien Montagne (uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 14:24 (GMT) |
Revert "Rework the whole unique ID system to also store ID addresses history in Main's mapping." This reverts commit 726e6972160159cc9d5b2be9cfb618f7362acc81. |
Revision 9cd67a7 by Bastien Montagne (undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 09:52 (GMT) |
Merge branch 'id-ensure-unique-memory-address' into undo-experiments |
Revision eb043d4 by Bastien Montagne (id-ensure-unique-memory-address, undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 09:45 (GMT) |
Merge branch 'master' into id-ensure-unique-memory-address |
Revision 88e1152 by Bastien Montagne (id-ensure-unique-memory-address, undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 28, 2020, 09:45 (GMT) |
Merge branch 'id-ensure-unique-memory-address' of git.blender.org:blender into id-ensure-unique-memory-address |
Revision 1823876 by Bastien Montagne (undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 26, 2020, 14:04 (GMT) |
Merge branch 'id-ensure-unique-memory-address' into undo-experiments |
Revision 76f381f by Bastien Montagne (id-ensure-unique-memory-address, undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 26, 2020, 14:02 (GMT) |
Ensure IDs get unique memory addresses withing q given editing session. Disclaimer: this should be considered as an engeneering, explanatory patch. Rational: for undo work, we are now manipulating IDs from potentially many different 'memory realms' (in contrast to current undo system, where, since we always reallocate the whole main database at each undo step, we only ever have to deal with two, the old one from the memfile, and the new one from re-read data from that memfile). So far, new undo system has used ID names-based search to remap old to new pointers, but this is slower, less safe, and forces us to do full undo barrier e.g. when renaming an ID. Idea of this patch is instead to ensure that within a given editing session, we never ever allocate a data-block at the same address twice. That way, we can consider ID pointers as valid UIDs withing that scope, and use their values to handle remapping in udo steps even in case an ID has had several memory addresses in the history of the editing session. This patches does two things: # Add a way to ensure a newly allocated ID gets a memory address never used before for any ID. # Store the history of all memory addresses ever used by a given ID. Note that point 1 above is currently using a fairly simple and naive solution, but also quiet innefficient (just allocating again and again until we get a 'free' address), we can imagine a much more efficient solution if we go deeper in MEM_ allocator system itself. Not sure if it is worth it though, as with new undo system actual re-allocation of a same ID at a different address should be fairly rare (i.e. history of used/forbidden addresses should remain quiet short). Differential Revision: https://developer.blender.org/D6937 |
Revision bfdb28a by Bastien Montagne (id-ensure-unique-memory-address, undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 26, 2020, 13:15 (GMT) |
Merge branch 'master' into id-ensure-unique-memory-address |
Revision 6b9c4e2 by Bastien Montagne (undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 26, 2020, 11:50 (GMT) |
Merge branch 'id-ensure-unique-memory-address' into undo-experiments |
Revision a5ddb3d by Bastien Montagne (id-ensure-unique-memory-address, undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 26, 2020, 11:48 (GMT) |
Cleanup; add missing static statement. |
Revision e98c83e by Bastien Montagne (undo-experiments, undo-experiments-swap-reread-datablocks, uuid-undo-experiments, uuid-undo-experiments-swap-reread-datablocks) February 26, 2020, 11:21 (GMT) |
Fix for recent merge. |
|