Bug 325771

Summary: GMIC - selection not supported
Product: [Applications] krita Reporter: animtim
Component: G'Mic for KritaAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: halla, lukast.dev
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: screenshot showing selection issue with colorize comics filter

Description animtim 2013-10-08 13:29:05 UTC
Gmic action should be able to work only on current selection area.

Now if I have a selection and run gmic action, it makes wrong/unusable results (with colorize comics filter, using lineart+colorspot+extrapolated colors, if I have a selection, the result is only the spot layer weirdly filled with black).

If there's a selection, gmic should grab and process only this area, making it faster than processing the complete layers. From the time it takes on my test, it seems to keep using the complete layers.

Reproducible: Always
Comment 1 LukasT 2014-04-12 22:03:57 UTC
Git commit 184e3ea5919b78f37a0c8592de3498cb315f41b0 by Lukáš Tvrdý.
Committed on 12/04/2014 at 22:00.
Pushed by lukast into branch 'master'.

Support for selections in gmic filters

M  +13   -2    krita/plugins/extensions/gmic/kis_gmic_applicator.cpp
M  +4    -2    krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp
M  +18   -6    krita/plugins/extensions/gmic/kis_import_gmic_processing_visitor.cpp
M  +6    -1    krita/plugins/extensions/gmic/kis_import_gmic_processing_visitor.h
M  +5    -0    krita/plugins/extensions/gmic/tests/CMakeLists.txt
M  +73   -0    krita/plugins/extensions/gmic/tests/kis_gmic_tests.cpp
M  +2    -1    krita/plugins/extensions/gmic/tests/kis_gmic_tests.h

http://commits.kde.org/calligra/184e3ea5919b78f37a0c8592de3498cb315f41b0
Comment 2 animtim 2014-04-13 08:16:12 UTC
Ok, now selection works for simple gmic filters, but for colorize comics it still makes bad result: it fills with black the selected area on the "color marks" layer instead of filling right colors on the "Extrapolated Colors" layer below..

To reproduce you need:
-A file with at least 3 layers. Top layer is for black artlines, then a layer with color marks, and an empty layer to receive extrapolated colors.
-Select the top layer, make a selection.
-Open Gmic Action, select the filter "Black & white" : colorize comics, and in the layer ordering input and output layers select "Lineart + color spots + extrapolated colors"

Hit Ok or Apply..
Comment 3 animtim 2014-04-26 14:31:23 UTC
Created attachment 86280 [details]
screenshot showing selection issue with colorize comics filter
Comment 4 LukasT 2014-04-26 15:07:10 UTC
Git commit 89029f6c4c2c72bd85f8bd05403327ca0c4f53e5 by Lukáš Tvrdý.
Committed on 26/04/2014 at 14:56.
Pushed by lukast into branch 'master'.

GMIC: Fix crash when filter is applied to the layer which was moved

- the computation of tile width was buggy
- scaling pixels to float color-space in temporary tile
  did not take into account the posibility that the source
  tile is read only partially (when you e.g. selection)

- there is still some corruption when bitblting
  gmic result to layer
Related: bug 327980

M  +46   -25   krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp

http://commits.kde.org/calligra/89029f6c4c2c72bd85f8bd05403327ca0c4f53e5
Comment 5 Halla Rempt 2014-04-29 09:41:39 UTC
Git commit a9a6add1cd1ac517c207c15c3efd19ec3fc5cd9c by Boudewijn Rempt, on behalf of Lukáš Tvrdý.
Committed on 26/04/2014 at 14:56.
Pushed by rempt into branch 'calligra/2.8'.

GMIC: Fix crash when filter is applied to the layer which was moved

- the computation of tile width was buggy
- scaling pixels to float color-space in temporary tile
  did not take into account the posibility that the source
  tile is read only partially (when you e.g. selection)

- there is still some corruption when bitblting
  gmic result to layer
Related: bug 327980

M  +46   -25   krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp

http://commits.kde.org/calligra/a9a6add1cd1ac517c207c15c3efd19ec3fc5cd9c
Comment 6 Halla Rempt 2014-04-29 09:42:07 UTC
Git commit 1ac85021057acdf943eceeceae0993fd8c5984df by Boudewijn Rempt, on behalf of Lukáš Tvrdý.
Committed on 12/04/2014 at 22:00.
Pushed by rempt into branch 'calligra/2.8'.

Support for selections in gmic filters

M  +13   -2    krita/plugins/extensions/gmic/kis_gmic_applicator.cpp
M  +4    -2    krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp
M  +18   -6    krita/plugins/extensions/gmic/kis_import_gmic_processing_visitor.cpp
M  +6    -1    krita/plugins/extensions/gmic/kis_import_gmic_processing_visitor.h
M  +5    -0    krita/plugins/extensions/gmic/tests/CMakeLists.txt
M  +73   -0    krita/plugins/extensions/gmic/tests/kis_gmic_tests.cpp
M  +2    -1    krita/plugins/extensions/gmic/tests/kis_gmic_tests.h

http://commits.kde.org/calligra/1ac85021057acdf943eceeceae0993fd8c5984df
Comment 7 LukasT 2014-05-01 09:13:52 UTC
Git commit 82606d433fa95cdf96c449b4b1be74390d1f2f8a by Lukáš Tvrdý, on behalf of Dmitry Kazakov.
Committed on 01/05/2014 at 09:09.
Pushed by lukast into branch 'master'.

Fix bitblit operation for paint device that starts at 0,0

Fixes glitches when bitbliting gmic result on moved layer with selection

M  +2    -2    krita/image/kis_painter.cc

http://commits.kde.org/calligra/82606d433fa95cdf96c449b4b1be74390d1f2f8a
Comment 8 Halla Rempt 2014-05-30 15:52:14 UTC
Git commit 2fc8ce8f1d62289017382728a4a1f46a1b714a25 by Boudewijn Rempt, on behalf of Lukáš Tvrdý.
Committed on 26/04/2014 at 14:56.
Pushed by dickson into tag 'steam-247500_247566'.

GMIC: Fix crash when filter is applied to the layer which was moved

- the computation of tile width was buggy
- scaling pixels to float color-space in temporary tile
  did not take into account the posibility that the source
  tile is read only partially (when you e.g. selection)

- there is still some corruption when bitblting
  gmic result to layer
Related: bug 327980

M  +46   -25   krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp

http://commits.kde.org/calligra/2fc8ce8f1d62289017382728a4a1f46a1b714a25
Comment 9 Halla Rempt 2014-05-30 15:55:08 UTC
Git commit 9f7232350df559d5012711f43f2cea313613d9c5 by Boudewijn Rempt, on behalf of Lukáš Tvrdý.
Committed on 12/04/2014 at 22:00.
Pushed by dickson into tag 'steam-247500_247566'.

Support for selections in gmic filters

M  +13   -2    krita/plugins/extensions/gmic/kis_gmic_applicator.cpp
M  +4    -2    krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp
M  +18   -6    krita/plugins/extensions/gmic/kis_import_gmic_processing_visitor.cpp
M  +6    -1    krita/plugins/extensions/gmic/kis_import_gmic_processing_visitor.h
M  +5    -0    krita/plugins/extensions/gmic/tests/CMakeLists.txt
M  +73   -0    krita/plugins/extensions/gmic/tests/kis_gmic_tests.cpp
M  +2    -1    krita/plugins/extensions/gmic/tests/kis_gmic_tests.h

http://commits.kde.org/calligra/9f7232350df559d5012711f43f2cea313613d9c5