Actually it looks a bit odd with Software Rasterizer as well. Could someone check whether or not geartrain polygons are valid? (edges not allowed to intersect, region must be convex) If some are invalid, it would explain strange rendering. I'm not experienced enough to just see validity by scanning through the code.
This is most probably not a driver bug. swrast, llvmpipe, softpipe, r300c, and r300g render it the same as is on your screenshot.
My eyes claimed swrast rendering differed a bit but was still incorrect. Hence why I started wondering about invalid polygons since rendering is undefined there and might even be unexpected in a different way in all drivers.