New issue
Advanced search Search tips

Issue 778204 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 2
Type: Bug



Sign in to add a comment

Each time moving svg path cross drop shadow SVG filter effect it generates line glitches

Reported by kirillbu...@gmail.com, Oct 25 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36

Steps to reproduce the problem:
1. Create two svg paths
2. Assign drop-shadow svg filter to bottom one
3. Move other one above filter effect and look at line glitches it generates each time he cross filter effect

What is the expected behavior?
Translate animation over object with svg drop shadow filter doesn't cause any glitches

What went wrong?
Each time any object above filtered one cross filter effect it generates glitched lines:
http://jsfiddle.net/skgv5nkd/14/

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 62.0.3202.62  Channel: stable
OS Version: 10.0
Flash Version:
 
filterGlitchIllustration.png
12.6 KB View Download
reducedTestCase.html
2.1 KB View Download

Comment 1 by f...@opera.com, Oct 25 2017

Components: Blink>Paint>Invalidation
Labels: OS-Linux
Status: Available (was: Unconfirmed)

Comment 2 by f...@opera.com, Oct 25 2017

Reduced a bit: http://jsfiddle.net/h1d7pdrz/

Looks like the fractional <feOffset> could be the cause.

Comment 3 by f...@opera.com, Oct 25 2017

Components: Internals>Skia
Truncating the deltas (on the Blink-side) before passing them to SkOffsetImageFilter seems to make the problem go away as well, so possibly something in Skia.
Labels: Needs-Triage-M62
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/b87f798e5a629284cc008b4986bb2ddba7ed9cb1

commit b87f798e5a629284cc008b4986bb2ddba7ed9cb1
Author: Fredrik Söderquist <fs@opera.com>
Date: Thu Oct 26 13:10:07 2017

Consistently round fOffset in SkOffsetImageFilter

Since SkScalarRoundToInt rounds differently depending on the sign of the
value, care must be taken to perform rounding before any potential
change to the sign - like in SkOffsetImageFilter::onFilterNodeBounds.

Bug:  chromium:778204 
Change-Id: I3debff7565f45022c7b8566662927149850b1bea
Reviewed-on: https://skia-review.googlesource.com/64020
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>

[modify] https://crrev.com/b87f798e5a629284cc008b4986bb2ddba7ed9cb1/src/effects/SkOffsetImageFilter.cpp
[modify] https://crrev.com/b87f798e5a629284cc008b4986bb2ddba7ed9cb1/tests/ImageFilterTest.cpp

Comment 7 by f...@opera.com, Oct 26 2017

Owner: f...@opera.com
Status: Assigned (was: Available)
On it.
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/892eb33e496fbe71063a9d88d4d3907fee809d27

commit 892eb33e496fbe71063a9d88d4d3907fee809d27
Author: Fredrik Söderquist <fs@opera.com>
Date: Thu Oct 26 15:52:17 2017

Temporarily suppress some feOffset tests

The following tests

 * svg/W3C-SVG-1.1/filters-offset-01-b.svg
 * svg/filters/feOffset.svg

show small differences (obvious progression for the former.)

TBR=mtklein@chromium.org
NOTRY=true

Bug:  778204 
Change-Id: I3b7e8da7856181f920d7889d5f7ac21c764f1071
Reviewed-on: https://chromium-review.googlesource.com/739484
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#511829}
[modify] https://crrev.com/892eb33e496fbe71063a9d88d4d3907fee809d27/third_party/WebKit/LayoutTests/TestExpectations

Comment 10 by f...@opera.com, Oct 27 2017

Status: Fixed (was: Assigned)

Sign in to add a comment