Undo: support implicit-sharing in memfile undo step #106903

Merged
Jacques Lucke merged 78 commits from JacquesLucke/blender:implicit-sharing-undo into main 2024-02-29 17:15:09 +01:00

78 Commits

Author SHA1 Message Date
Jacques Lucke 68781e5958 Merge branch 'main' into implicit-sharing-undo 2024-02-29 17:05:55 +01:00
Jacques Lucke 3ee387ae73 use blo_ instead of BLO_ prefix for private function 2024-02-29 16:30:43 +01:00
Jacques Lucke 0fa079f52c remove unnecessary memfile.size increase 2024-02-29 16:28:24 +01:00
Jacques Lucke a0afe9da27 fix and cleanup 2024-02-29 16:24:43 +01:00
Jacques Lucke 8a325ac3c4 Merge branch 'main' into implicit-sharing-undo 2024-02-29 16:21:19 +01:00
Jacques Lucke 3abf7d1d0e Merge branch 'main' into implicit-sharing-undo
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-02-29 14:22:53 +01:00
Jacques Lucke b94e0bec32 make format 2024-02-29 14:21:39 +01:00
Jacques Lucke f3ec92e2d9 Merge branch 'main' into implicit-sharing-undo 2024-02-29 14:17:14 +01:00
Jacques Lucke 90ca20d7c9 Merge branch 'main' into implicit-sharing-undo 2024-02-29 14:08:39 +01:00
Jacques Lucke e9c40b8ce8 fixes after merge
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-02-29 13:36:09 +01:00
Jacques Lucke 8913b777b6 Merge branch 'main' into implicit-sharing-undo 2024-02-29 13:19:24 +01:00
Jacques Lucke c9900b8cfb Merge branch 'main' into implicit-sharing-undo 2024-02-23 17:19:26 +01:00
Hans Goudey 75328c2da1 Handle size limit when writing potentially shared data 2024-01-16 14:11:22 -05:00
Hans Goudey 0e60e6a801 Merge branch 'main' into implicit-sharing-undo 2024-01-16 13:43:02 -05:00
Hans Goudey 1d2b996236 Merge branch 'main' into implicit-sharing-undo 2024-01-15 12:52:58 -05:00
Hans Goudey 8cf92e9afa Forward declare implicit sharing class to avoid including <atomic> everywhere 2024-01-15 12:01:40 -05:00
Hans Goudey 87a3d2b534 Merge branch 'main' into implicit-sharing-undo 2024-01-15 11:46:43 -05:00
Hans Goudey 7b8b74ec92 Cleanup: Remove unnecessary custom data layer writing
These layers are removed in current versions
2024-01-15 11:11:15 -05:00
Hans Goudey 4d358d43cd Merge branch 'main' into implicit-sharing-undo 2024-01-15 10:57:34 -05:00
Jacques Lucke 84dd0b2829 fix merge error 2023-11-15 12:42:38 +01:00
Jacques Lucke e410729444 Merge branch 'main' into implicit-sharing-undo 2023-11-15 12:39:40 +01:00
Jacques Lucke 44dfab4b8a Merge branch 'main' into implicit-sharing-undo 2023-05-25 14:33:47 +02:00
Jacques Lucke ed35d8f76d Merge branch 'main' into implicit-sharing-undo 2023-05-09 14:04:35 +02:00
Jacques Lucke 275ec6462f Merge branch 'main' into implicit-sharing-undo 2023-05-04 09:54:48 +02:00
Jacques Lucke d2c82219b0 Merge branch 'main' into implicit-sharing-undo 2023-04-25 09:22:06 +02:00
Hans Goudey 4fd37178d6 Move comment to interface function instead of impl 2023-04-21 15:23:21 -04:00
Hans Goudey 35b8e818d0 Replace macro with template (keeping BLO_read_shared interface the same) 2023-04-21 15:22:15 -04:00
Hans Goudey bf5dba36a4 Revert "Avoid the need for a macro and void **"
This reverts commit f0533e434c.
2023-04-21 15:10:41 -04:00
Hans Goudey cfa22ffd3b Remove unrelated change 2023-04-21 15:00:28 -04:00
Hans Goudey 307d8090cd Simplify comment wording 2023-04-21 14:52:25 -04:00
Hans Goudey f0533e434c Avoid the need for a macro and void **
BLO_read_shared doesn't actually read the data itself,
so it doesn't need to change its pointer. That's up to the lambda it calls.
2023-04-21 14:51:35 -04:00
Hans Goudey e1cdca70e1 Merge branch 'main' into implicit-sharing-undo 2023-04-21 14:27:07 -04:00
Hans Goudey daffa88e69 Merge branch 'main' into implicit-sharing-undo 2023-04-21 10:18:40 -04:00
Jacques Lucke 5a7187985a remove unused ED_undosys_stack_memfile_get_active function 2023-04-21 11:36:36 +02:00
Jacques Lucke a2e0700867 don't auto-save in mesh edit/sculpt mode because it is potentially very slow 2023-04-21 11:18:54 +02:00
Jacques Lucke 91dc77283e Merge branch 'main' into implicit-sharing-undo 2023-04-21 10:17:19 +02:00
Jacques Lucke 03b5d6c4c9 add comments
buildbot/vexp-code-patch-coordinator Build done. Details
2023-04-20 23:53:55 +02:00
Jacques Lucke ca4cd00946 cleanup 2023-04-20 23:45:26 +02:00
Jacques Lucke 60e8b155fd cleanup 2023-04-20 23:39:17 +02:00
Jacques Lucke ab67b80ed5 Merge branch 'main' into implicit-sharing-undo 2023-04-20 23:35:25 +02:00
Jacques Lucke 2019fe37de progress 2023-04-20 23:23:21 +02:00
Jacques Lucke dfcb6ab68e add comments 2023-04-20 23:10:14 +02:00
Jacques Lucke 0fd27ddb7d remove ability to store MemFile on disk 2023-04-20 22:44:06 +02:00
Jacques Lucke 4424f850fd Merge branch 'main' into implicit-sharing-undo 2023-04-20 22:31:10 +02:00
Jacques Lucke 657053976f Merge branch 'main' into implicit-sharing-undo 2023-04-20 19:44:40 +02:00
Jacques Lucke b6af6ec552 Merge branch 'main' into implicit-sharing-undo 2023-04-13 15:03:25 +02:00
Jacques Lucke 33dbe3e37d Merge branch 'implicit-sharing-custom-data' into implicit-sharing-undo 2023-04-11 16:22:46 +02:00
Jacques Lucke 78aa83e235 add clarifying comment in BLI_implicit_sharing.h
buildbot/vexp-code-patch-coordinator Build done. Details
2023-04-11 16:17:41 +02:00
Jacques Lucke 061e3d827a Merge branch 'main' into implicit-sharing-custom-data
buildbot/vexp-code-patch-coordinator Build done. Details
2023-04-11 12:10:00 +02:00
Jacques Lucke 508a7cf8ff undo integration 2023-04-11 11:44:28 +02:00
Jacques Lucke 9760cf86bc initial BLO api for sharing 2023-04-11 11:27:13 +02:00
Hans Goudey 2e3c21c145 Revert "Curves: Use implicit sharing to avoid copying curve offsets"
This reverts commit a66aeb2213.
2023-04-10 13:20:09 -04:00
Hans Goudey a66aeb2213 Curves: Use implicit sharing to avoid copying curve offsets 2023-04-10 13:19:41 -04:00
Hans Goudey a283341b2e Fix: memcpy called with null src argument (size was 0) 2023-04-10 13:19:00 -04:00
Jacques Lucke 7dedd25112 Merge branch 'main' into implicit-sharing-custom-data
buildbot/vexp-code-patch-coordinator Build done. Details
2023-04-08 13:30:11 +02:00
Jacques Lucke db2e909629 Merge branch 'main' into implicit-sharing-custom-data 2023-04-08 13:10:19 +02:00
Jacques Lucke 8610875628 improve comment 2023-04-08 12:59:10 +02:00
Jacques Lucke d1824ff9de remove newline 2023-04-08 12:56:21 +02:00
Jacques Lucke 8aa9f55e85 rename cow to implicit-sharing in a few places 2023-04-08 12:55:48 +02:00
Jacques Lucke c77e2c1c2c improve comment 2023-04-08 12:55:35 +02:00
Jacques Lucke dc3f699ca7 Merge branch 'main' into implicit-sharing-custom-data 2023-04-08 12:51:40 +02:00
Jacques Lucke 1d465bc67f cleanup 2023-04-07 14:21:51 +02:00
Jacques Lucke 3f17b7bebb cleanup naming
buildbot/vexp-code-patch-coordinator Build done. Details
2023-04-07 13:58:59 +02:00
Jacques Lucke 2fae2036ba remove CD_ASSIGN 2023-04-07 12:38:21 +02:00
Jacques Lucke 0b1379f00a improve naming and comments 2023-04-07 12:21:30 +02:00
Jacques Lucke 4b94101cc6 fixes 2023-04-07 12:05:47 +02:00
Jacques Lucke b3ebd45b9f Merge branch 'main' into implicit-sharing-custom-data 2023-04-07 11:58:18 +02:00
Jacques Lucke 0049058797 Merge branch 'main' into implicit-sharing-custom-data 2023-03-29 18:41:05 +02:00
Jacques Lucke a5dfc23874 Merge branch 'main' into implicit-sharing-custom-data 2023-03-29 17:19:34 +02:00
Jacques Lucke d84c176e19 don't retrieve mutable attribute of geometry from multiple threads at the same time 2023-03-29 14:53:19 +02:00
Jacques Lucke dae2d6617d Merge branch 'main' into implicit-sharing-custom-data 2023-03-29 13:42:28 +02:00
Jacques Lucke 994bab2934 improve naming
buildbot/vexp-code-patch-coordinator Build done. Details
2023-03-28 16:56:46 +02:00
Jacques Lucke 19de6f302c fix 2023-03-28 16:39:02 +02:00
Jacques Lucke 7e783f8452 fix 2023-03-28 16:33:46 +02:00
Jacques Lucke 15ec5bb159 fix 2023-03-28 15:35:26 +02:00
Jacques Lucke 11d6228ba9 progress 2023-03-28 15:27:58 +02:00
Jacques Lucke dca532b4fb remove undo changes 2023-03-28 14:37:42 +02:00
Jacques Lucke 0caab0ee83 Squashed commit of the following:
commit 33be282c3b415656a4577586dd70999702589a65
Author: Jacques Lucke <jacques@blender.org>
Date:   Wed Mar 22 12:42:53 2023 +0100

    fix after merg

commit 4b9d973bc6c564104e35a641bb64ec7b5c08c5f8
Merge: 2318d0a508 69ba34fa21
Author: Jacques Lucke <jacques@blender.org>
Date:   Wed Mar 22 12:40:23 2023 +0100

    Merge branch 'main' into temp-copy-on-write

commit 2318d0a508
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 20:34:55 2023 +0100

    fix

    Fixed this in the past at some point, but a merge conflict reverted it..

commit ff134afff8
Merge: 3400e55ba9 99506b3d73
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 20:17:06 2023 +0100

    Merge branch 'main' into temp-copy-on-write

commit 3400e55ba9
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 20:10:36 2023 +0100

    cleanup name

commit 36a18db75a
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 19:29:24 2023 +0100

    rename

commit 5f4ca0ca2c
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 19:24:23 2023 +0100

    cleanup

commit 73aa98c62f
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 19:11:28 2023 +0100

    cleanup

commit 27061b704b
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 18:52:30 2023 +0100

    cleanup

commit 39d770fae4
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 18:21:57 2023 +0100

    cleanup

commit 0f9e2af3b0
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 17:49:22 2023 +0100

    fix double free in edit-mesh-undo

commit 657b0dc433
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 17:47:18 2023 +0100

    make destructor virtual

commit f890130a6c
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 17:04:15 2023 +0100

    remove rna integration

commit 195e9c335b
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 17:00:38 2023 +0100

    fix merge error

commit 28faa89077
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 16:30:14 2023 +0100

    cleanup

commit 7ce2820c05
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 15:54:16 2023 +0100

    cleanup

commit 14905927b3
Merge: 80f34eaa4d 92b607d686
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Mar 14 15:53:35 2023 +0100

    Merge branch 'main' into temp-copy-on-write

commit 80f34eaa4d
Merge: 06e1b3f9f6 01480229b1
Author: Jacques Lucke <jacques@blender.org>
Date:   Fri Feb 10 17:01:07 2023 +0100

    Merge branch 'main' into temp-copy-on-write

commit 06e1b3f9f6
Merge: 82ffc03449 43f308f216
Author: Jacques Lucke <jacques@blender.org>
Date:   Wed Feb 8 14:48:47 2023 +0100

    Merge branch 'main' into temp-copy-on-write-customdata

commit 82ffc03449
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Feb 7 19:50:58 2023 +0100

    fix

commit ce46579108
Merge: e71021db06 f5552d759c
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Feb 7 19:50:54 2023 +0100

    Merge branch 'main' into temp-copy-on-write-customdata

commit e71021db06
Merge: ff6f1a0a70 b642dc7bc7
Author: Jacques Lucke <jacques@blender.org>
Date:   Mon Feb 6 00:27:06 2023 +0100

    Merge branch 'master' into temp-copy-on-write-customdata

commit ff6f1a0a70
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Feb 5 23:36:06 2023 +0100

    simplify embedding cow

commit 9c51e093a3
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Feb 5 23:17:32 2023 +0100

    partial fix

commit 1284bdc24c
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Feb 5 22:31:05 2023 +0100

    removing support for saving undo step as actual file

commit a59b848992
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Feb 5 22:22:23 2023 +0100

    fix

commit 4d67393e7e
Merge: 2e9fcdc600 3d6ceb737d
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Feb 5 22:19:52 2023 +0100

    Merge branch 'master' into temp-copy-on-write-customdata

commit 2e9fcdc600
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 22:42:05 2023 +0100

    disable array store for editmesh undo

commit b4ac85084c
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 22:41:40 2023 +0100

    improve rna api

commit 6f4772d170
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 21:53:57 2023 +0100

    cleanup file structure

commit b703fc76c8
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 21:47:48 2023 +0100

    cleanup

commit 60612b84dc
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 21:46:45 2023 +0100

    cleanup

commit a16a60f600
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 21:45:35 2023 +0100

    cleanup

commit 6065a378cf
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 21:43:04 2023 +0100

    use virtual class

commit 53178b94e0
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 31 19:55:17 2023 +0100

    initial rna integration

commit ee675db8f6
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Jan 29 02:16:59 2023 +0100

    store destructor in cow type

commit 8f6b51ac15
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Jan 29 00:20:36 2023 +0100

    cleanup

commit c9477aac6a
Merge: c678fe09e4 e497da5fda
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Jan 29 00:15:55 2023 +0100

    Merge branch 'master' into temp-copy-on-write-customdata

commit c678fe09e4
Author: Jacques Lucke <jacques@blender.org>
Date:   Mon Jan 23 01:48:20 2023 +0100

    cleanup

commit 097c085a4e
Author: Jacques Lucke <jacques@blender.org>
Date:   Mon Jan 23 01:47:04 2023 +0100

    Support copy-on-write in undo system

commit ef1f42865e
Merge: 2b71cf4b31 93a840360a
Author: Jacques Lucke <jacques@blender.org>
Date:   Mon Jan 23 00:55:37 2023 +0100

    Merge branch 'master' into temp-copy-on-write-customdata

commit 2b71cf4b31
Merge: d4ec435d4f 3a2899cc31
Author: Jacques Lucke <jacques@blender.org>
Date:   Sun Jan 22 20:44:29 2023 +0100

    Merge branch 'master' into temp-copy-on-write-customdata

commit d4ec435d4f
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 18:14:36 2023 +0100

    compile fixes

commit ba33242d9a
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 16:35:33 2023 +0100

    progress

commit 66b4840d90
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 16:32:06 2023 +0100

    fix freeing

commit 8cff18da91
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 15:24:49 2023 +0100

    progress

commit b45b522d22
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 15:02:06 2023 +0100

    progress

commit b592d76a8e
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 14:32:56 2023 +0100

    remove CD_FLAG_NOFREE

commit be0fe0433d
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 14:21:54 2023 +0100

    cleanup

commit 3530c63611
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 14:11:36 2023 +0100

    progress

commit c1d1665a79
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 14:01:47 2023 +0100

    progress

commit 3f22933534
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 13:47:35 2023 +0100

    progress

commit c4c9a43072
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 13:42:06 2023 +0100

    progress

commit e3779d12d5
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 13:28:31 2023 +0100

    progress

commit 3ed5d00f7e
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 13:01:10 2023 +0100

    fix

commit 5329d5803e
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 12:50:29 2023 +0100

    progress

commit 51388d401c
Merge: 5a3c8a1b12 ced0021498
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 11:41:08 2023 +0100

    Merge branch 'temp-copy-on-write' into temp-copy-on-write-customdata

commit ced0021498
Merge: 0b7155b5c5 6aa29549e8
Author: Jacques Lucke <jacques@blender.org>
Date:   Sat Jan 21 11:40:42 2023 +0100

    Merge branch 'master' into temp-copy-on-write

commit 5a3c8a1b12
Author: Jacques Lucke <jacques@blender.org>
Date:   Fri Jan 20 23:45:03 2023 +0100

    change custom data api for cow

commit 0b7155b5c5
Author: Jacques Lucke <jacques@blender.org>
Date:   Fri Jan 20 21:59:07 2023 +0100

    fix

commit d76e6862f0
Author: Jacques Lucke <jacques@blender.org>
Date:   Fri Jan 20 21:57:15 2023 +0100

    fix

commit 6b1028d492
Author: Jacques Lucke <jacques@blender.org>
Date:   Fri Jan 20 21:52:16 2023 +0100

    fix

commit dd8af7b46a
Merge: ac439c7eed 244c87dd68
Author: Jacques Lucke <jacques@blender.org>
Date:   Fri Jan 20 21:45:15 2023 +0100

    Merge branch 'master' into temp-copy-on-write

commit ac439c7eed
Merge: 3f3adef4a0 c99d1d5d0d
Author: Jacques Lucke <jacques@blender.org>
Date:   Thu Feb 17 17:23:52 2022 +0100

    Use new copy-on-write system for sharing geometry components.

    Differential Revision: https://developer.blender.org/D14139

commit 3f3adef4a0
Merge: c5b55a84f5 b2867d4365
Author: Jacques Lucke <jacques@blender.org>
Date:   Tue Jan 4 13:38:02 2022 +0100

    Merge branch 'master' into temp-copy-on-write

commit c5b55a84f5
Author: Jacques Lucke <jacques@blender.org>
Date:   Mon Jan 3 16:57:15 2022 +0100

    cleanup

commit 1713a780c5
Author: Jacques Lucke <jacques@blender.org>
Date:   Mon Jan 3 16:55:45 2022 +0100

    progress

commit e0ac932156
Author: Jacques Lucke <jacques@blender.org>
Date:   Mon Jan 3 15:29:23 2022 +0100

    initial data structure
2023-03-28 14:34:09 +02:00