New issue
Advanced search Search tips

Issue 728070 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocked on:
issue 756823


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

Incorrect fragment shading when drawing shapes with short edge

Reported by guardian...@gmail.com, May 31 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

Steps to reproduce the problem:
1. Create a webpage with the code provided (shortedge.txt)
2. Notice the shape rendered in screenshot, the fill is incorrect towards the bottom right
3. Remove the bogus line and refresh
4. The shape renders correctly

What is the expected behavior?
A blue "emblem" shape should be drawn on the canvas

What went wrong?
The fill of the shape is "washing out" towards to bottom right corner

Did this work before? No 

Does this work in other browsers? Yes

Chrome version: 58.0.3029.110  Channel: stable
OS Version: OS X 10.12.4
Flash Version: Shockwave Flash 25.0 r0

The same problem does not happen if Hardware acceleration is turned off.
 
Screen Shot 2017-05-31 at 5.37.07 PM.png
184 KB View Download
shortedge.txt
424 bytes View Download
Owner: senorblanco@chromium.org
Status: Assigned (was: Unconfirmed)
Confirmed; this appears to be a bug in the tessellating AA path renderer.

Skia test case attached (note that it doesn't repro on fiddle.skia.org, perhaps due to different path renderer configuration).
washout.patch
1.5 KB Download
Note to self: the problem is in edge inversion handling. Disabling fix_inversions() ameliorates the problem, but introduces artifacts in the thinconcavepaths GM.
washout-reduced.patch
1.1 KB Download
Blockedon: 756823
Will be fixed by straight skeleton phase 3.
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 2 2018

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

commit e4d6d0b50ec2e40aabe6a8c9928f512101771bb1
Author: Stephen White <senorblanco@chromium.org>
Date: Tue Jan 02 17:16:48 2018

Enable new edge inversion handling in Skia.

Remove the GR_TESSELLATOR_LEGACY_INVERSION_HANDLING #ifdef.
This enables the partial straight skeleton (phase 2) in Skia.

BUG= 756823 , 754612 , 754293 , 723980 , 728070 

Change-Id: I70b4daef016dc950002cb0e98073bc90696b2ab9
Reviewed-on: https://chromium-review.googlesource.com/843082
Reviewed-by: Brian Salomon <bsalomon@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526496}
[modify] https://crrev.com/e4d6d0b50ec2e40aabe6a8c9928f512101771bb1/skia/config/SkUserConfig.h
[add] https://crrev.com/e4d6d0b50ec2e40aabe6a8c9928f512101771bb1/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png
[add] https://crrev.com/e4d6d0b50ec2e40aabe6a8c9928f512101771bb1/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png
[modify] https://crrev.com/e4d6d0b50ec2e40aabe6a8c9928f512101771bb1/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png
[modify] https://crrev.com/e4d6d0b50ec2e40aabe6a8c9928f512101771bb1/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png
[delete] https://crrev.com/5b2de20541d2b08bf64e81804b538eb4d03a4e21/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png
[delete] https://crrev.com/5b2de20541d2b08bf64e81804b538eb4d03a4e21/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png

Status: Fixed (was: Assigned)
Fixed as of crrev.com/526496 above.

Sign in to add a comment