Radial gradient supported by canvas_ity is different (two circles vs one ellipse in CSS), so I implemented new brush type, css_radial. It is created with canvas::set_css_radial_gradient().
Old behavior is still available with #define CANVAS_ITY_IMPLEMENTATION LINEARIZE_RGB
Comparison of rendering linear-gradient-1.htm with and without LINEARIZE_RGB:

Browsers don't render gradients identically, so I use max_color_diff() to compare them.
It measures max difference in each RGBA component in each pixel.
max_color_diff
chrome vs firefox 1
chrome vs canvas_ity without linearized colors 1
chrome vs canvas_ity with linearized colors 74