If I scale the alpha channel in rendercheck/eval_diff similar to the color
channel, rendercheck fails on me for A8 dst.
The above fixes the failures for A8 dst, but I'am not sure that this is the
actual problem or masks it for me, so please verify.
Do you mean exaTryDriverSolidFill() should return 0 instead of -1 in this case?
I refer to exaGetPixelFromRGBA(), for which exaTryDriverSolidFill() does not
check the return value at all.
diff -r1.32 exa_render.c
< exaGetPixelFromRGBA(&pixel, red, green, blue, alpha,
> if (!exaGetPixelFromRGBA(&pixel, red, green, blue, alpha,
> REGION_UNINIT(pDst->pDrawable->pScreen, ®ion);
> return -1;
I have revision 1.32 of exa_render.c, and it does exactly that.
Ignore me, I confused exaGetRGBAFromPixel and exaGetPixelFromRGBA. :}
Created attachment 6003 [details] [review]
Check both exaGet*From* in one statement
How about this one instead?
I pushed your patch, as it's more consistent with the surrounding code.