--- Operating System, Graphics card ---
Ubuntu 12.04 x64, Radeon HD7770
--- Blender version with error, and version that worked ---
Hue and Saturation fail in Blender 2.64a, 2.66a and r55421. It works fine in 2.62, 2.63a.
In 2.65a hue seems ok (I don't know if the output is correct but at least there are no artifacts), but saturation creates stripes in the render like the other versions.
--- Short description of error ---
The initial bug I was hunting was that the Mix node switched to Hue showed a black preview image, but the output of the connected viewer node in the UV/Image editor did not update and still showed the image from the last node it was connected to before connecting it to the hue node. But when doing a F12 render, it worsens and produces weird renders - almost thought my computer was dying, but since the scene works in older releases, it looks like a bug.
--- Steps for others to reproduce the error (preferably based on attached .blend file) ---
Do some F12 renders in hue and saturation mode and you will get differently placed and colored rectangles each render in hue mode in r55421 (black render in 2.66a) and local stripes in saturation mode (2.66a and r55421). Also note that viewer node output in the UV/Image editor is different from hue node preview image.
Description
Event Timeline
@Jeroen: The stripe artifacts seem to be caused by the Mix operation not setting output color values at all if the second input is grayscale (colS == 0). I would suggest to initialize output color value to (0,0,0,0) by the final output, before executePixel is called on SocketReaders. Otherwise we'd have to ensure that all operations define full color values in all cases, which doesn't seem feasible.
The difference in Render vs. Viewer output is probably caused by the target output buffer used (initialized to 0 in case of the viewer and previews).
Fixed in revision 55789
Fix for 34703 Mix node (Hue, Saturation) update and rendering error
Hue and saturation node has an early break when saturarion is 0. When this happe
ned the input 1 color needed to be used. This behaviour was not merged.