Issue metadata
Sign in to add a comment
|
Canvas drawImage bug with large images (results in a tiled and wrong scaled image)
Reported by
m...@krpano.com,
Nov 11 2016
|
||||||||||||||||||||||
Issue descriptionUsing Canvas + drawImage + scaling + a large image = buggy rendering output. Here a online test-case: http://krpano.com/chrome/bugs/ChromeCanvasDrawImageBug/ The test code is very simple - just drawing a large image via drawImage into a smaller 2d canvas: var canvas = document.getElementById("canvas"); canvas.width = 1000; canvas.height = 1000; var canvasContext = canvas.getContext("2d"); var img = new Image(); img.addEventListener("load", function() { canvasContext.drawImage(img,0,0,canvas.width,canvas.height); }); img.src = "image6434x3217.jpg"; // happens only on large images! Attached a screenshot from Chrome and Firefox (all other Browsers are also okay) with the test-case from above. This is a regression, older Chrome versions were okay (but I don't know which version was the last okay one). The problem itself happens on all systems - Windows, Mac, Android, but the graphical 'result' (how the image is broken/tiled) differs a bit between the systems.
,
Nov 14 2016
Tested in chrome stable #54.0.2840.99 and canary #56.0.2918.0 on Win 10.0 and was able to reproduce the issue. Below are the Bisect Details: Bisect Info: ============= Good Build: 54.0.2832.0(Revision - 412743) Bad Build: 54.0.2833.0 (Revision - 413134) Bisect URL: =========== You are probably looking for a change made after 412919 (known good), but no later than 412920 (first known bad). CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/cd81492dada5b5ad4c2f6914323145cd8a541eb2..15dd1c2199030d52529b74f2a13decdc3c60cdd1 @ junov : ------------------ Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to concern owner. Review-Url: https://codereview.chromium.org/2254293002 Note : Able to reproduce the issue in Mac 10.11.6 , Ubuntu 14.0.
,
Nov 14 2016
,
Nov 14 2016
I cannot repro this issue on Linux ToT, the suspected CL turns GPU-acceleration by default on Linux, that's unlikely the cause, I will do another bisect.
,
Nov 14 2016
Bisect on Mac, here is the list: https://chromium.googlesource.com/chromium/src/+log/98591f5484bd77a1c261eda4379e323ed51e0ad1..95032d5b02ec93895c40dfbea1eea40d0aff45e9 I see a skia-deps-roll, will do more investigation.
,
Nov 14 2016
https://chromium.googlesource.com/skia.git/+/e553b64bca57723db2b8da1c015a5ebf467eade9 ?
,
Nov 14 2016
Thank you Florin. Passing this to Brian. Brian, please take a look. Thank you.
,
Nov 14 2016
I have a repro.
,
Nov 14 2016
I have a fix. This was a typo on my part in the change cited in #6. I'm surprised we didn't have a test that caught this. I'll make sure we add one.
,
Nov 14 2016
Thank you for your quick response, Brian.
,
Nov 14 2016
The following revision refers to this bug: https://skia.googlesource.com/skia.git/+/d93f4a4291acff1032169ac903ac29b69659ea51 commit d93f4a4291acff1032169ac903ac29b69659ea51 Author: Brian Salomon <bsalomon@google.com> Date: Mon Nov 14 19:41:58 2016 Compute the correct dst->src rect for bitmap tiles in SkGpuDevice Use anisotropic scale to show bug in verylargebitmap test. BUG= chromium:664615 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4774 Change-Id: If92eab6d26b9fb506670412a80df259f99db2a21 Reviewed-on: https://skia-review.googlesource.com/4774 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> [modify] https://crrev.com/d93f4a4291acff1032169ac903ac29b69659ea51/gm/verylargebitmap.cpp [modify] https://crrev.com/d93f4a4291acff1032169ac903ac29b69659ea51/src/gpu/SkGpuDevice.cpp
,
Nov 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eabedb87de083d2ede558bb3b9ed7c91f50e9cc9 commit eabedb87de083d2ede558bb3b9ed7c91f50e9cc9 Author: skia-deps-roller <skia-deps-roller@chromium.org> Date: Tue Nov 15 00:47:30 2016 Roll src/third_party/skia/ 286b96f87..662c2aed3 (9 commits). https://skia.googlesource.com/skia.git/+log/286b96f87695..662c2aed38c1 $ git log 286b96f87..662c2aed3 --date=short --no-merges --format='%ad %ae %s' 2016-11-14 mtklein Fill in gamut-transformation TODOs for software pipeline. 2016-11-14 fmalita Fix Sk4fLinearGradient initial interval pinning 2016-11-14 liyuqian Temporarily Disable analytic AA for Google3 2016-11-14 kjlubick Add skpbench job 2016-11-14 csmartdalton skpbench: skiaperf.py modifications 2016-11-14 bsalomon Compute the correct dst->src rect for bitmap tiles in SkGpuDevice 2016-11-14 fmalita Stale visualize_color_gamut.cpp reference in tools.gyp 2016-11-14 robertphillips Revert "Add IORef capability to GrSurfaceProxy objects" 2016-11-14 liyuqian Set analytic AA as default. BUG= 664615 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=stani@google.com Review-Url: https://codereview.chromium.org/2500193002 Cr-Commit-Position: refs/heads/master@{#432030} [modify] https://crrev.com/eabedb87de083d2ede558bb3b9ed7c91f50e9cc9/DEPS
,
Nov 15 2016
M54 is already in Stable now, may be we could take the fix for M55.Lopping to folks who are involved.
,
Nov 15 2016
A friendly reminder that M55 Stable is launch is coming soon! Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP so it gets enough baking time in Beta (before Stable promotion). Thank you! Also due to Thanksgiving holidays in US, please make sure fix is ready and merged to M55 latest by 5:00 PM PT Friday, 11/18/16 (sooner the better).
,
Nov 15 2016
I'd be happy to cherry pick this. It is a very simple and safe change.
,
Nov 15 2016
I have verified on canary channel on win and mac, and they both work fine. Brian, please go ahead with the merge. Thank you.
,
Nov 15 2016
,
Nov 15 2016
[Automated comment] DEPS changes referenced in bugdroid comments, needs manual review.
,
Nov 15 2016
Approving merge to M55 branch 2883 based on comment #16. Please merge ASAP. If merge happens today before 5:00 PM PT, we can pick it up for tomorrow's beta release.
,
Nov 15 2016
The following revision refers to this bug: https://skia.googlesource.com/skia.git/+/71bbd67b5ad911269b9582f6c20cc0cc2de1a02f commit 71bbd67b5ad911269b9582f6c20cc0cc2de1a02f Author: Brian Salomon <bsalomon@google.com> Date: Tue Nov 15 17:11:17 2016 Compute the correct dst->src rect for bitmap tiles in SkGpuDevice Use anisotropic scale to show bug in verylargebitmap test. Cherry pick to M55 BUG= chromium:664615 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4774 Change-Id: If92eab6d26b9fb506670412a80df259f99db2a21 Reviewed-on: https://skia-review.googlesource.com/4774 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-on: https://skia-review.googlesource.com/4825 Reviewed-by: Brian Salomon <bsalomon@google.com> [modify] https://crrev.com/71bbd67b5ad911269b9582f6c20cc0cc2de1a02f/gm/verylargebitmap.cpp [modify] https://crrev.com/71bbd67b5ad911269b9582f6c20cc0cc2de1a02f/src/gpu/SkGpuDevice.cpp
,
Nov 15 2016
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by pucchakayala@chromium.org
, Nov 12 2016Status: Untriaged (was: Unconfirmed)