bug:27873093
Adds the simple overdraw avoidance optimization to the new
pipeline. This means when LayerBuilder defers draws that are opaque over
the full area of the repaint region, it will discard all drawing content
beneth.
Also moves a lot of complexity out of BakedOpState's header.
Change-Id: Iffca6d8e1b170ef31a5d6c83d25592670e02323d
bug:26591194
Also, revert to using current clip bounds as drawColor/drawPaint bounds
for simplicity in new pipeline.
Change-Id: I1a6b3f9716b564b46df41d57dfe14475fdd24de0
bug:27225580
bug:27281241
Empty unclipped savelayers (clipped at defer time, often by dirty rect)
were resulting in invalid layer clear rectangles. Simplify by just
rejecting these unclipped savelayers entirely at defer.
Also, use repaint rect as base clip for constructed ops within
LayerBuilder.
Change-Id: I5c466199e85201a2f68f5cdc60b29187c849961b
Can't safely rewind clip allocations, since those pointers are cached by
ClipArea. Instead add early rejection to handle most cases, and update
tests.
Change-Id: Ic32f95cf95602f427f25761a8da1583c4495f36d