New issue
Advanced search Search tips

Issue 863890 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Mac
Pri: 2
Type: Bug

Blocked on:
issue 892711



Sign in to add a comment

Background linear-gradient incorrectly drawn when background-size is higher then 100%

Reported by radek.s...@gmail.com, Jul 16

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0

Steps to reproduce the problem:
1. See https://codepen.io/zipper/pen/gjrpjL, there is a gradient 250% size of the box, 0-40% and 60-100% have exactly same stops.
2. Both backgrounds should be the same, but second one is a bit off.

What is the expected behavior?
Both gradients should be the same, since the percentage of the stops are same, only shifted by 60%.

What went wrong?
Shifted gradient is a bit off and the stops doesn't match the first gradient. Tested in FireFox and MS Edge, both render the gradients correctly.

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: <Copy from: 'about:version'>  Channel: n/a
OS Version: 10.0
Flash Version: Shockwave Flash 30.0 r0
 
Chrome version is 67.0.3396.99. (I didn't realize/notice I'm using FF while creating an issue.)
Components: Blink>Paint
Labels: Needs-Triage-M67
Cc: vamshi.kommuri@chromium.org
Labels: Triaged-ET M-69 Target-69 FoundIn-69 OS-Mac
Status: Untriaged (was: Unconfirmed)
Thanks for filing the issue!

Able to reproduce the issue on reported chrome version 67.0.3396.99 and on the latest canary 69.0.3493.0 using Windows 10 and Mac 10.13.1
Note: Issue is not seen on Ubuntu 14.04

As the issue is seen from M60(60.0.3112.0) considering it as Non-Regression and marking it as Untriaged and requesting some from "Blink>Paint" team to have a look into this.
Components: -Blink>Paint Internals>GPU>Rasterization
This is a GPU raster bug. On Mac I bisected to the change that re-enabled GPU on MacOS 10.13.4, and I confirmed by disabling GPU.

So when a gradient is requested with a phase that is not zero it seems to mis-align on GPU.
cr863890.html
453 bytes View Download
Cc: rjkroege@chromium.org weiliangc@chromium.org enne@chromium.org ccameron@chromium.org
Owner: bsalomon@chromium.org
Status: Assigned (was: Untriaged)
bsalomon: can you triage/investigate this?
Blockedon: 892711
Components: Internals>Skia
Owner: michaelludwig@google.com
The rendering defect is caused from the textured gradient implementation. The color locations become inaccurate when the sampled gradient is stretched over the DOM element. This particular example uses over 8 intervals, forcing Skia to use the textured gradient code path. If a similar example was prepared that used 8 or fewer, it will now render (from https://skia-review.googlesource.com/c/skia/+/157569).

The limitations of that change are documented in issue 892711; when that is solved, this issue will be automatically fixed.

Sign in to add a comment