DescriptionThis patch is not ready to be committed but I would like feedback before I push further. This patch starts the ball rolling for:
1) collect clips in a form that the gpu can use to precompute alpha masks earlier.
This patch re-emits the entire clip stack whenever it is needed, replacing the first operation with a replace. Ultimately we will want to output some other aggregate clip operation.
2) collapse the matrix and clip state to simplify the state hierarchy
This patch collapses all matrix calls to a setMatrix and all clips to big blocks of clips. We will need some other entry point besides setMatrix and currently we still need to fall back to SkCanvas due to the semantics of the clip calls (i.e., they return if the clip isn't empty).
3) Reformulate the clips in a way suitable for Shape Ops processing
Probably want some aggregate clip object that will be easier to handle.
4) Don't fold the matrix into the clip geometry too soon
This is a request from the nVidia guys. When we fold the matrix into the geometry we prevent them from just passing it on as is to the NVPR extension.
Moving forward we will probably have to:
Alter the canvas clip* call contracts so we don't have to return the clip's status. This would also be a big step towards moving the clip region computation out of SkCanvas.
Make SkCanvas::getSaveCount virtual so we don't need to call the base class' methods.
Patch Set 1 #Patch Set 2 : update to ToT #
Messages
Total messages: 1 (0 generated)
|