Canvas rendering of circles is more like rounded rectangles |
|||||
Issue descriptionChrome Version: 71.0.3559.0 (Official Build) canary (64-bit) OS: Mac, Android What steps will reproduce the problem? (1) Go to http://jsfiddle.net/Lve9mu8k/7/ (2) Take a look at the gloriously pink circles. What is the expected result? Circular circles. What happens instead? The circle on the left in the 300x300 canvas appears to be more like a rounded rectangle. Please use labels and text to provide additional information. If this is a regression (i.e., worked before), please consider using the bisect tool (https://www.chromium.org/developers/bisect-builds-py) to help us identify the root cause and more rapidly triage the issue. For graphics-related bugs, please copy/paste the contents of the about:gpu page at the end of this report.
,
Sep 24
If it's off any constellation to help debug, setting the width/height to 5000 makes it back a circle: http://jsfiddle.net/Lve9mu8k/26/
,
Sep 24
If it helps, here's a slightly more "advanced" version of the jsfiddle example: http://jsfiddle.net/Lve9mu8k/23/, strangely making the canvas itself smaller turns the smaller circle into a true circle again...
,
Sep 24
Hey, did a test with adding a moveTo(x, y) command to the pixel coordinates that you are drawing the circle to. Seems to fix it, an example is here: http://jsfiddle.net/Lve9mu8k/38/
,
Sep 25
Able to reprooduce the issue on the latest canary(71.0.3560.0) on Windows-10 and Linux Debian Rodete as well. This is non regression issue seen on older chrome version 60.0.3112.20 also.
,
Sep 28
The top left canvas is above the acceleration threshold, while the bottom right one is not. So looks like it's a Ganesh bug. Brian, could you take a look or reassign? (+jvanverth because circles/ovals...)
,
Sep 28
Reassigning to Skia GPU wrangler.
,
Nov 20
The following revision refers to this bug: https://skia.googlesource.com/skia/+/e3deee131979b5e2c6ee07cad59a06c247a40d91 commit e3deee131979b5e2c6ee07cad59a06c247a40d91 Author: Brian Osman <brianosman@google.com> Date: Tue Nov 20 16:42:04 2018 Use a smaller tolerance when chopping conics to quads In most places we were using 0.25 (maximum distance between the actual and approximated curves). In these few places, we were using 0.5, which is enough to produce visible errors. Added a GM that demonstrated the problem as reported - many of the arcs with radius ~8 were previously closer to round-rects than circles. Bug: chromium:888453 Change-Id: I7d22e27773f56174861526dd0223f52a93bf48eb Reviewed-on: https://skia-review.googlesource.com/c/172060 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> [modify] https://crrev.com/e3deee131979b5e2c6ee07cad59a06c247a40d91/src/gpu/ops/GrAAHairLinePathRenderer.cpp [modify] https://crrev.com/e3deee131979b5e2c6ee07cad59a06c247a40d91/src/utils/SkShadowTessellator.cpp [modify] https://crrev.com/e3deee131979b5e2c6ee07cad59a06c247a40d91/src/gpu/ops/GrAAConvexPathRenderer.cpp [modify] https://crrev.com/e3deee131979b5e2c6ee07cad59a06c247a40d91/gm/circulararcs.cpp [modify] https://crrev.com/e3deee131979b5e2c6ee07cad59a06c247a40d91/src/gpu/ops/GrAAConvexTessellator.cpp
,
Nov 20
,
Nov 21
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d51587706c4ada6fbd7f9251116649cf4d8f5b4e commit d51587706c4ada6fbd7f9251116649cf4d8f5b4e Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Date: Wed Nov 21 13:05:24 2018 Roll src/third_party/skia a63cf8e80aa5..ef3f9bef8660 (30 commits) https://skia.googlesource.com/skia.git/+log/a63cf8e80aa5..ef3f9bef8660 git log a63cf8e80aa5..ef3f9bef8660 --date=short --no-merges --format='%ad %ae %s' 2018-11-21 rmistry@google.com Revert "Reland "Temporarily remove Android compile bot from CQ"" 2018-11-21 recipe-roller@chromium.org Roll recipe dependencies (trivial). 2018-11-21 recipe-roller@chromium.org Roll recipe dependencies (trivial). 2018-11-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 0e604f9f1107..836674c28b1e (4 commits) 2018-11-20 recipe-roller@chromium.org Roll recipe dependencies (trivial). 2018-11-20 rmistry@google.com Reland "Temporarily remove Android compile bot from CQ" 2018-11-20 kjlubick@google.com [canvaskit] Add debug-mode only logs 2018-11-20 recipe-roller@chromium.org Roll recipe dependencies (trivial). 2018-11-20 michaelludwig@google.com Convert aa edge distances into attribute 2018-11-20 michaelludwig@google.com Add aa/non-aa, local coord, and perspective modes to rect benchmarks 2018-11-20 recipe-roller@chromium.org Roll recipe dependencies (trivial). 2018-11-20 kjlubick@google.com Add software backend to gpu build 2018-11-20 kjlubick@google.com [canvaskit] Expand canvas2d API 2018-11-20 mtklein@google.com disable platform (matrix) procs 2018-11-20 michaelludwig@google.com Update drawimage composite benchmark to force aa 2018-11-20 reed@google.com hide (unused) intercepts methods -- for staging migration to SkFont 2018-11-20 recipe-roller@chromium.org Roll recipe dependencies (trivial). 2018-11-20 brianosman@google.com Use GrVertexWriter for GrAAStrokeRectOp 2018-11-20 reed@google.com guard flag, so we can remove it and force clients to opt-in 2018-11-20 jvanverth@google.com Add SkImage::MakeFromYUVAPixmaps 2018-11-20 brianosman@google.com Use a smaller tolerance when chopping conics to quads 2018-11-20 bsalomon@google.com Add docs about building with clang-cl on Windows. 2018-11-20 mtklein@google.com SkBitmapProcState_matrixProcs.cpp refactoring 2018-11-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 b81ff9e6c518..0e604f9f1107 (1 commits) 2018-11-20 bsalomon@google.com Experimentally disable GrTextureOp chaining on Intel GPUs on Mac. 2018-11-20 michaelludwig@google.com Add writePoint3() to SkWriteBuffer interface. 2018-11-20 bsalomon@google.com Pass alpha rather than full colors to TextureOps made from image sets. 2018-11-20 skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com Update markdown files 2018-11-20 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update go_deps asset 2018-11-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 8a0fb48a56d6..b81ff9e6c518 (2 commits) Created with: gclient setdep -r src/third_party/skia@ef3f9bef8660 The AutoRoll server is located here: https://autoroll.skia.org/r/skia-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux-blink-rel;luci.chromium.try:linux-chromeos-compile-dbg;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel BUG= chromium:888453 ,chromium:906453 TBR=csmartdalton@chromium.org Change-Id: I7cc3a2bb87f5fd53a7b05756b08e468d99aa26ff Reviewed-on: https://chromium-review.googlesource.com/c/1345769 Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#610020} [modify] https://crrev.com/d51587706c4ada6fbd7f9251116649cf4d8f5b4e/DEPS |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by aerotwist@chromium.org
, Sep 24