Added programmable blending to my software rasterizer since it's cleaner, easier and more flexible than fixed function approach. Should be fine if there are no per pixel race conditions.