New issue
Advanced search Search tips
Starred by 5 users

Issue metadata

Status: Accepted
Owner: ----
Cc:
Area: ImageFilter
Priority: Medium
Type: Defect



Sign in to add a comment

perspective + filters + gpu + conservative_rasterclip ?

Project Member Reported by reed@google.com, Sep 10 2014

Issue description

SkGpuDevice has an override for forceConservativeRasterClip. If this returns true, we compute a conservative version of the rasterclip for any clipFoo calls made to the canvas. The intent is that the gpu-device doesn't care about the rasterclip anyway, so its fine to cheat and go faster.

However, if we draw certain gms through perspective with this enabled, we get different bits than with this disabled.

[*] 12 ExpectationsMismatch: blurrects_gpu.png bigblurs_gpu.png imageblurtiled_gpu.png matrixconvolution_gpu.png dropshadowimagefilter_gpu.png skbug1719_gpu.png imageresizetiled_gpu.png xfermodeimagefilter_gpu.png blurquickreject_gpu.png imagefilterscropped_gpu.png verttext_gpu.png imagefiltersclipped_gpu.png 

Why is this happening? Bug in the conservative code, or bug in canvas or bug in filters?
 
Project Member

Comment 1 by senorblanco@chromium.org, Sep 11 2014

Pixel-moving image filters (blur, matrixconvolution, drop shadow) are pretty broken with a perspective matrix -- they do a best-effort to apply the CTM, but they do a pretty poor job if there's anything but scale & translate. So if just rebaselining the tests and calling it a day is an option, I'd do that.

However, I notice that there are more than just image filters changed here: blurrects and bigblurs are both mask blurs, IIRC. Maybe Greg could speak to those.
Project Member

Comment 2 by reed@google.com, Sep 11 2014

yes, I think the problems are in image-filters and mask-filters
Project Member

Comment 3 by hcm@google.com, Oct 14 2014

Labels: Area-ImageFilter
Project Member

Comment 4 by hcm@google.com, Dec 7 2015

Labels: Hotlist-Fixit
Project Member

Comment 5 by senorblanco@chromium.org, Dec 14 2015

Is this a dupe of http://skbug.com/3288 ("Pixel-moving image filters (e.g., blur) do not support skew or rotation correctly")? I.e., if we fixed that, would the clip bounds be correctly computed?
Project Member

Comment 6 by caryclark@google.com, Jan 5 2016

Cc: -humper@google.com
Owner: caryclark@google.com
I'll look at it
Project Member

Comment 7 by carycl...@skia.org, Mar 6

Owner: ----

Sign in to add a comment