Hello,<div><br></div><div>I am using Cairo 1.8.8 and Pixman .17.2 - I have some cross platform code that runs on an x86-64 machine and a low powered LE 32-bit MIPS.  I was using the image backend surface (ARGB) that was filled with opaque yellow and blending an ARGB image on top of it with the OVER operator.</div>
<div><br></div><div>I found that if the alpha value of an image in the pixel is 0, but RGB data is not, I would get the proper blending behavior on the x86 but the MIPS would produce a destination pixel with 0 alpha.  I found that the combine code being used was in pixman-combine32.c and eventually traced it to combine_over_u .  I did a quick test and it ended up working.</div>
<div><br></div><div>I&#39;ve attached my patch - it seems kind of hacky, but it was a quick fix for what I needed.  The gist of it is to not do anything if the input alpha is 0 ( ALPHA_8 (~s) returns 255) so I check for that and skip the UN8x4_MUL_UN8_ADD_UN8x4 operation.</div>
<div><br></div><div>Anyway, please let me know if this is totally wrong, it appears to work for me, but I&#39;ve been wrong before :)</div><div><br></div><div>Thanks,</div><div><br></div><div>sb</div>