This test exercises a bunch of color composition with alpha blending. The top-left rectangles are the source images and bottom-right rectangles are the destination images.

Tests for fill rect

src 255, 0, 0, 255	src 255, 0, 0, 255	src 255, 0, 0, 255	src 0, 255, 0, 0	src 0, 255, 0, 1	src 255, 0, 0, 0	src 255, 0, 0, 127	src 255, 0, 0, 255	src 255, 0, 0, 127	src 127, 0, 0, 255	src 127, 0, 0, 127	src 255, 0, 0, 127	src 255, 127, 0, 32	src 255, 0, 0, 191	src 255, 0, 255, 191
dst 0, 255, 0, 255	dst 0, 255, 0, 0	dst 0, 255, 0, 1	dst 255, 0, 0, 255	dst 255, 0, 0, 255	dst 0, 255, 0, 255	dst 0, 255, 0, 127	dst 0, 255, 0, 127	dst 0, 255, 0, 255	dst 0, 127, 0, 127	dst 0, 127, 0, 255	dst 255, 0, 0, 63	dst 255, 63, 0, 63	dst 0, 255, 0, 127	dst 0, 255, 255, 127
source-over																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
source-in																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
source-out																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
source-atop																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-over																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-in																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-out																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-atop																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
lighter																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
copy																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
xor																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
Tests for path and fill

src 255, 0, 0, 255	src 255, 0, 0, 255	src 255, 0, 0, 255	src 0, 255, 0, 0	src 0, 255, 0, 1	src 255, 0, 0, 0	src 255, 0, 0, 127	src 255, 0, 0, 255	src 255, 0, 0, 127	src 127, 0, 0, 255	src 127, 0, 0, 127	src 255, 0, 0, 127	src 255, 127, 0, 32	src 255, 0, 0, 191	src 255, 0, 255, 191
dst 0, 255, 0, 255	dst 0, 255, 0, 0	dst 0, 255, 0, 1	dst 255, 0, 0, 255	dst 255, 0, 0, 255	dst 0, 255, 0, 255	dst 0, 255, 0, 127	dst 0, 255, 0, 127	dst 0, 255, 0, 255	dst 0, 127, 0, 127	dst 0, 127, 0, 255	dst 255, 0, 0, 63	dst 255, 63, 0, 63	dst 0, 255, 0, 127	dst 0, 255, 255, 127
source-over																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
source-in																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
source-out																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
source-atop																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-over																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-in																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-out																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
destination-atop																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
lighter																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
copy																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
xor																														
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS

