New issue
Advanced search Search tips
Starred by 3 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Jun 2015
Cc:
Area: ----
Priority: Medium
Type: Defect



Sign in to add a comment

Tiled rendering of GMs fails

Project Member Reported by robertph...@google.com, Apr 1 2013 Back to list

Issue description

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.
 
Project Member

Comment 1 by robertph...@google.com, 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
Project Member

Comment 2 by reed@google.com, 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...
Project Member

Comment 3 by junov@chromium.org, Apr 8 2013

Owner: junov@chromium.org
Project Member

Comment 4 by junov@chromium.org, Apr 8 2013

Owner: ----
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.
Project Member

Comment 5 by robertph...@google.com, Apr 17 2013

Cc: mtkl...@google.com
Project Member

Comment 6 by mtkl...@google.com, Feb 21 2014

This is now up to 150 failing out of 289 GMs.

out/Release/dm --tileGrid --config 8888 will reproduce.
Project Member

Comment 7 by senorblanco@chromium.org, 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.
Project Member

Comment 8 by mtkl...@google.com, Mar 4 2014

Sad to report we're still at 151 failing of 290 GMs.  :(
Project Member

Comment 9 by mtkl...@google.com, Oct 10 2014

Cc: bore...@google.com hcm@google.com
 Issue 1149  has been merged into this issue.
Project Member

Comment 10 by mtkl...@google.com, Dec 18 2014

 Issue 3263  has been merged into this issue.
Project Member

Comment 11 by mtkl...@google.com, Jun 9 2015

Status: Fixed
Gold means we can compare these diffs against the original.

Sign in to add a comment