-
Dmitry Kazakov authored
The patch implements several things: 1) Adds U16 versions of Over and AlphaDarken composite ops. The basic memory access is taken from Mathias Wein's (!584) patch 2) Adds implementation of Copy composite op for U8, U16 and F32 color spaces. This composite op is used a lot in colorsmudge. 3) The patch makes F32 and U16 (and U8 for "copy") composite ops to reuse the same codebase. In comparison to !584 this patch has two things "not implemented yet": 1) No optimization for alpha-locked state 2) No optimization for separate read/demangle of the alpha channel value Both these optimizations can be added later. Test Plan --------- 1) Try to paint with normal brush in "wash" mode with low opacity/flow values. There should be no artifacts visible 2) Try to paint with ColorSmudge brush in the following modes: * Smear Alpha is on/off * Inherit Alpha is on/off * Any selection is on/off * Some color channels of the layer are off
26c8217f