app: add gimp:buffer-source-validate operation

Desktop / GNOME / GIMP - Ell [yahoo.com] - 4 December 2017 21:02 EST

gimp:buffer-source-validate is a drop-in replacement for gegl:buffer-source, however, if the attached buffer has a
validating tile-handler, it makes sure the required region is
validated during process(). This avoids a situation in which
validation happens in different worker threads at the same time during the processing of a succeeding operation; since validation is protected by the buffer's tile-storage mutex, this can result in either a deadlock (currently), or an effective fallback to single-threaded processing.

dec2375a26 app: add gimp:buffer-source-validate operation
app/gegl/gimptilehandlervalidate.c | 13 +
app/gegl/gimptilehandlervalidate.h | 17 +-
app/operations/Makefile.am | 2 +
app/operations/gimp-operations.c | 2 +
app/operations/gimpoperationbuffersourcevalidate.c | 359 +++++++++++++++++++++
app/operations/gimpoperationbuffersourcevalidate.h | 52 +++
6 files changed, 437 insertions(+), 8 deletions(-)

Upstream: git.gnome.org


  • Share