DescriptionThis patch implements GPU processing for SkMatrixConvolutionImageFilter. All parameters from the raster path are supported. Note that the premultiplying is done less efficiently than in the raster path: it's done on each texture access, rather than as a pre-processing pass. This was so I could do the filter as a single custom stage; will try the optimization separately.
Implementing the GPU path revealed a bug in the raster path: when not convolving alpha, the convolved RGB should be clamped to 255, not to the original alpha, since it will be remultiplied against original alpha anyway. In order to test this more thoroughly, I've added a gradient alpha to the source bitmap in the matrixconvolution GM, and added test cases for all the tiling modes in the !convolveAlpha case.
Patch Set 1 #
Total comments: 2
Patch Set 2 : fix no-GPU build #Patch Set 3 : add test; fix public/private/protected #
Total comments: 1
MessagesTotal messages: 7
|