Merged requested to merge lsegovia/krita:work/amyspark/hdr-gradients2 into master
This MR upgrades the gradient rendering code to:
- make use (if not specified otherwise, see next) of Rec.709, 16-bit integer RGB.
- render the gradients directly on the destination colorspace, upgrading it to at least 16-bit integer if it's 8-bit.
Additionally, I implemented a new dither op in
KoColorSpace, based on Pixman's and Skia's source. These are, in order, blue-noise Ulichney dithering with a 64x64 matrix, and 8x8 Bayer ordered dithering.
The first is plugged in (as a demo) to
KisGradientPainter and the second to the preview generator in
I tested this using two monitors, one is an old LG M2380A (which reeks of banding) and the other is a Samsung S24F350.
I confirmed this builds.
I confirmed Krita ran and the relevant functions work.
I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
I made sure my commits build individually and have good descriptions as per KDE guidelines.
I made sure my code conforms to the standards set in the HACKING file.
I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.