New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 661180 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Gif blurs itself under very specific conditions (specific size + border-radius)

Reported by tarvorei...@gmail.com, Nov 1 2016

Issue description

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

Steps to reproduce the problem:
Look at this gist:
https://gist.run/?id=52303e64f006fcdd111e77f2c7422d13

What is the expected behavior?
Gif should display correctly.

What went wrong?
Gif is blurred (you can see that it is animating, but each frame is one solid colour based on the average colour on the frame).

Did this work before? Yes 

Does this work in other browsers? Yes

Chrome version: 54.0.2840.71  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 23.0 r0

It probably worked before.
 
2016-11-01_18-06-36.mp4
19.3 KB View Download
gpu.html
212 KB View Download
Forgot to add the required specific conditions:
Height and width 50px, border radius anything but 0.

If you set height and width to other than 50px, it will work again. Could not reproduce on other gifs either.
Status: Untriaged (was: Unconfirmed)
Removing background-size: cover; makes it work as intended.
Labels: Needs-Bisect
Reproduced using Chrome 54 on Windows 7.
Components: Blink>CSS Internals>Compositing>Images Internals>Images
"As intended" is a bad choice of words.

I have intended it to be the size of the div. If you change the background-size property from 'cover' to the actual size, which is '50px', it will also break.

Comment 6 by phistuck@gmail.com, Nov 1 2016

As intended means it is not blurred. Sorry.

Comment 7 by phistuck@gmail.com, Nov 1 2016

<img src="https://media-dev.pairby.com/q/v/V/qvVAFoVW7SmAqHNIhMQ9fgl4nLnEU16I/s.gif" width=50 height=50 style="border-radius: 50px;">
Also works, so this is specific to background images.
No problem.

Also to add: reproducable on the latest canary release (56, means it's not fixed yet).
Components: -Blink>CSS Blink>Paint
Cc: hdodda@chromium.org
Labels: -Needs-Bisect Needs-Feedback
Tested on Windows 10 using chrome stable M54 # 54.0.2840.87 and observed similar behavior in chrome and firefox.

Attached screencast for reference.

Could you please provide us a sample test case or file, so that it would be helpful for us to triage the bug much better.

Thanks !
661180.mp4
949 KB View Download
I have provided a sample test case - look at the original post.
Labels: -Needs-Feedback Needs-Bisect
#10 -
I am not sure what sample.html has (the image also looks much, much bigger than the 50 pixels x 50 pixels the report specifies), but this reproduces the issue -
data:text/html,<div style="background-image: url(https://media-dev.pairby.com/q/v/V/qvVAFoVW7SmAqHNIhMQ9fgl4nLnEU16I/s.gif); background-size: cover; height: 50px; width: 50px; border-radius: 50px;">
Included test-case for local usage. Contains the gif in question and a basic HTML file, which also shows that 49px x 49px and 51px x 51px work as expected.
test-case.zip
180 KB Download
Able to reproduce with the example in original post, on linux desktop with stable Version 54.0.2840.90 (64-bit). It seems it does not reproduce on high-dpi screens though.
Owner: fmalita@chromium.org
Only repros with software rasterization.

Possibly related to https://codereview.chromium.org/1949253004, I'll take a look.
Status: Assigned (was: Untriaged)
Components: -Blink>Paint Internals>Skia
Status: Started (was: Assigned)
The bug is indeed triggered by https://codereview.chromium.org/1949253004 (drawing rrect background images with shaders), but the problem seems to be in Skia's downscaling code: when in non-clamp mode, and the size matches a mip level exactly, we seem to set up the filter with an incorrect transform.
Project Member

Comment 18 by bugdroid1@chromium.org, Nov 3 2016

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

commit b1c7f88df9ec40b4efb52d314304adfbaf95697c
Author: fmalita <fmalita@chromium.org>
Date: Thu Nov 03 18:42:49 2016

Fix kMediumQuality invMatrix setup for sizes == mip levels

When downscaling with kMediumQuality in non-clamp mode, if we happen to hit a size == mip level, then SkBitmapProcInfo::init takes the trivial matrix path and doesn't set up a matrix for normalized coords on the assumption that we're going to ignore the transform.  But kMediumQuality disables allow_ignore_fractional_translate, so we take the filter path after all - but with an incorrect matrix.

R=reed@google.com
BUG= chromium:661180 
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2476713002

Review-Url: https://codereview.chromium.org/2476713002

[modify] https://crrev.com/b1c7f88df9ec40b4efb52d314304adfbaf95697c/gm/bmpfilterqualityrepeat.cpp
[modify] https://crrev.com/b1c7f88df9ec40b4efb52d314304adfbaf95697c/src/core/SkBitmapProcState.cpp

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 4 2016

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

commit db4fdf181e7064a8c7ab45aa29e19f3d07c56eb7
Author: skia-deps-roller <skia-deps-roller@chromium.org>
Date: Fri Nov 04 15:32:43 2016

Roll src/third_party/skia/ a964a2914..544da7a7c (30 commits).

https://chromium.googlesource.com/skia.git/+log/a964a2914130..544da7a7c399

$ git log a964a2914..544da7a7c --date=short --no-merges --format='%ad %ae %s'
2016-11-03 fmalita Avoid matrix inverse in SkBitmapProcInfo::init for translate-only cases
2016-11-03 halcanary tools: s/SkAutoTUnref/sk_sp/
2016-11-03 msarett Add F16, SkColorSpaceXform support to SkBmpCodec
2016-11-03 mtklein more const SkOSMenus.
2016-11-03 bungeman Remove SkAutoUnref.
2016-11-03 reed remove unused code around SK_SUPPORT_LEGACY_XFERMODE_PARAM
2016-11-03 bsalomon Make more tests exercise rendertargetless textures.
2016-11-03 bungeman Fix iOS and Angle builds.
2016-11-03 mtklein GN: iOS basics
2016-11-03 msarett Write transparent pixels more often in SkGifImageReader
2016-11-03 mtklein Implement SkNx_fma() for Sk4f on ARMv8.
2016-11-03 bungeman Remove SkAutoTDelete.
2016-11-03 fmalita Fix kMediumQuality invMatrix setup for sizes == mip levels
2016-11-03 liyuqian Fix quad convexity with only one backward dir
2016-11-02 mtklein Remove sk_linear_to_srgb_noclamp().
2016-11-03 bsalomon Use temporary FBO for GrGLGpu::onReadPixels.
2016-11-02 mtklein Streamline skia.h construction.
2016-11-03 msarett Revert "Add F16, SkColorSpaceXform support to SkBmpCodec"
2016-11-03 mtklein Basic pipeline blend mode strength reductions:
2016-11-03 reed add include to remove legacy flag
2016-11-03 robertphillips Centralize computation of GrRenderTarget & GrTexture VRAM consumption
2016-11-02 msarett Add F16, SkColorSpaceXform support to SkBmpCodec
2016-11-03 mtklein Add Matrix colorfilter pipeline stages.
2016-11-03 msarett Fix bitmap shaders gm
2016-11-03 benjaminwagner Revert of Try to use only std::aligned_storage. (patchset #2 id:20001 of https://codereview.chromium.org/2468243002/ )
2016-11-03 herb Try to use only std::aligned_storage. This does not change the API.
2016-11-03 bsalomon Exclude Nexus Player from gpudft for flakiness
2016-11-03 mtklein MatrixColorFilter: convert transpose to [0,1] while transposing.
2016-11-03 benjaminwagner Fix case of hex number.
2016-11-03 benjaminwagner Omit msaa on iPad4.

BUG= 661180 

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
TBR=benjaminwagner@google.com

Review-Url: https://codereview.chromium.org/2475713003
Cr-Commit-Position: refs/heads/master@{#429895}

[modify] https://crrev.com/db4fdf181e7064a8c7ab45aa29e19f3d07c56eb7/DEPS

Status: Fixed (was: Started)

Sign in to add a comment