After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 465721 - Copy on Write for gegl_buffer_copy()/gegl_buffer_dup()
Copy on Write for gegl_buffer_copy()/gegl_buffer_dup()
Status: RESOLVED FIXED
Product: GEGL
Classification: Other
Component: GeglBuffer
unspecified
Other All
: High enhancement
: ---
Assigned To: Default Gegl Component Owner
Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2007-08-11 17:07 UTC by Øyvind Kolås (pippin)
Modified: 2013-02-04 06:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Øyvind Kolås (pippin) 2007-08-11 17:07:43 UTC
gegl_buffer_copy (which also is used by gegl_buffer_duplicate), can for some cases use shared tiles, and the existing tile-level COW, copy on write, infrastructure.
Comment 1 Øyvind Kolås (pippin) 2008-05-17 15:43:36 UTC
The cache is shared between all buffers this should be even more feasible now.
Comment 2 Øyvind Kolås (pippin) 2008-06-12 19:36:56 UTC
In the use of the scan iterators it should now be possible to detect when a tile
can be shared by looking at the roi that is reported and comparing it with the tile dimensions of the underlying tile storage.
Comment 3 Michael Muré 2011-08-02 12:17:31 UTC
I implemented the copy on write for gegl_buffer_dup and added test to confirm that it works.

I still have trouble with it in the warp op that use it, but it can be a problem in the op.
Comment 4 Øyvind Kolås (pippin) 2013-02-04 06:52:10 UTC
GeglBuffer now has COW for gegl_buffer_copy (and thus gegl_buffer_dup)