There is a bug where if one of the pixel has 0, and the other layer with blending mode has completely white color, then you would be able to see ZX Spectrum colors (every colors that contains only 1 or 0 in each of the channel) in places where they shouldn't appear. To demonstrate, just take a look at the screenshot - https://i.imgur.com/1PEMfgf.png To replicate this bug with sample images Use this as the blend layer - https://www.getpaint.net/doc/latest/images/layerswindow/appleoriginal.png Use this as the layer below the blend layer - https://www.getpaint.net/doc/latest/images/layerswindow/seattleoriginal.png Just change the blend layer blending mode to Color Dodge, and you should see ZX Spectrum colors. The same bug appears in Parallel blending mode.
There is a way to fix this, but it will involve having to add a 1 in at least one of the channel to avoid the ZX Spectrum bug. Right now, the only workaround is to change the left color adjustment to 1,1 and add a middle point where the middle part of the color adjustment graph is. That way, the bug is eliminated altogether. Another way I can see the bug eliminated is not to consider 0 as 0 in the blending mode, but close to 0 so that the end result will have 0 in one of the channel without the ZX Spectrum issue. Essentially a override, and to clamp it. 0 means one of the channel is 0 in every part of this bug report.
Created attachment 114980 [details] Screenshot of the Issue
As evidenced by the screenshot I attached, the issue seems to be still present and can be reproduced with the sample images provided by the reporter. The bug was tested on an Arch Linux installation with the following software versions: Application Version: 4.2.0 (Pre-alpha; Nightly version) KDE Plasma Version: 5.13.5 KDE Frameworks Version: 5.50.0 Qt Version: 5.11.1
I have already fixed the bug with parallel mode, and color dodge with my blending modes patch. While there will always be ZX spectrum bug with blending modes in general because of conditions returning into another value, at least the one in my patch puts in the correct order making the blending modes follow the standard approach which works often.
Fixed with the blend mode patch. They work as expected.