Tiled rendering of GMs fails
|Project Member Reported by robertph...@google.com, Apr 1 2013||Back to list|
The following GMs have issues with tiled rendering: morphology complexclip_bw_layer complexclip_bw imagefiltersbase testimagefilters lighting imageblur bicubicfilter bigbitmaprect imagemagnifier - asserts verttext2 colorimagefilter strokerect spritebitmap blend imagefiltersgraph displacement matrixconvolution Some of these failures seem to be due to image filters not respecting the CTM Many others appear to be edge effects (e.g., morphology) - which could probably be 'fixed' by adding a tile border. To reproduce simply enable tiled rendering in gmmain.cpp (search for this issue number in the code) and run gm.
Apr 2 2013,
FYI I test this by: enabling the "true" on line 1363 ("gmmain.generate_image_from_picture...") of gmmain.cpp rebuild out\Release\gm -w local-win --mismatchPath local-win-2 --excludeConfig msaa16 .\rename.bat // changes "_comparison-tilegrid" to "_8888" in local-win-2 out\Release\skdiff.exe local-win local-win-2 diffs
Apr 8 2013,
Certainly the edge-effect aspects of this is likely my problem, as skia doesn't call into the effect to ask what sort of safety-margin it needs (the way we *do* for maskfilters). I will take that on right away. After that plumbing, there will still be the task of opting-in to that by each subclass...
Apr 8 2013,
Apr 8 2013,
If we want to fix correctness first and worry about speed later, the fast solution is to make paint::canComputeFastBounds return false when an effect used.
Apr 17 2013,
Feb 21 2014,
This is now up to 150 failing out of 289 GMs. out/Release/dm --tileGrid --config 8888 will reproduce.
Mar 3 2014,
All of the pixel-moving filters should now respect CTM, at least to the extent they can: matrices containing scale & translation, but rotation/shear are very likely busted. They also have a computeFastBounds() traversal, which should be correctly used for culling.
Mar 4 2014,
Sad to report we're still at 151 failing of 290 GMs. :(
Oct 10 2014,
Issue 1149 has been merged into this issue.
Dec 18 2014,
Issue 3263 has been merged into this issue.
Jun 9 2015,
Gold means we can compare these diffs against the original.
Sign in to add a comment