WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 21498
REGRESSION(
r35966
): Canvex game (DOOM for <canvas>) is broken
https://bugs.webkit.org/show_bug.cgi?id=21498
Summary
REGRESSION(r35966): Canvex game (DOOM for <canvas>) is broken
Oliver Hunt
Reported
2008-10-08 23:02:45 PDT
Migrating gradient and pattern logic to GraphicsContext appears to have horked the world :-(
Attachments
Fix transformed patterns
(36.79 KB, patch)
2008-10-09 15:04 PDT
,
Eric Seidel (no email)
oliver
: review+
Details
Formatted Diff
Diff
Reviewed by Oliver Hunt.
(3.05 KB, patch)
2008-10-09 19:20 PDT
,
Eric Seidel (no email)
oliver
: review+
Details
Formatted Diff
Diff
Test cases
(9.10 KB, patch)
2008-10-09 19:20 PDT
,
Eric Seidel (no email)
oliver
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Oliver Hunt
Comment 1
2008-10-09 01:21:51 PDT
Okay this also regresses fast/canvas/patternfill-repeat.html
Eric Seidel (no email)
Comment 2
2008-10-09 15:04:33 PDT
Created
attachment 24239
[details]
Fix transformed patterns LayoutTests/ChangeLog | 59 +++++++++++ .../canvas/canvas-transform-identity-expected.png | Bin 3259 -> 10631 bytes .../canvas/canvas-transform-infinity-expected.png | Bin 3259 -> 10631 bytes .../canvas/canvas-transform-multiply-expected.png | Bin 3259 -> 10631 bytes .../fast/canvas/canvas-transform-nan-expected.png | Bin 3259 -> 10631 bytes .../canvas-transform-non-invertible-expected.png | Bin 3259 -> 10631 bytes .../canvas/canvas-transform-skewed-expected.png | Bin 3259 -> 10631 bytes .../canvas/canvas-before-css-expected.checksum | 2 +- .../mac/fast/canvas/canvas-before-css-expected.png | Bin 9165 -> 17055 bytes .../mac/fast/canvas/canvas-bg-expected.png | Bin 17964 -> 29420 bytes .../fast/canvas/canvas-composite-expected.checksum | 2 +- .../mac/fast/canvas/canvas-composite-expected.png | Bin 20635 -> 30590 bytes .../canvas/canvas-draw-xbm-image-expected.checksum | 2 +- .../fast/canvas/canvas-draw-xbm-image-expected.png | Bin 3462 -> 10690 bytes .../canvas/canvas-resize-reset-expected.checksum | 2 +- .../fast/canvas/canvas-resize-reset-expected.png | Bin 7586 -> 15066 bytes ...nvas-size-change-after-layout-expected.checksum | 2 +- .../canvas-size-change-after-layout-expected.png | Bin 7574 -> 15340 bytes .../fast/canvas/canvas-text-alignment-expected.png | Bin 97978 -> 105596 bytes .../fast/canvas/canvas-text-baseline-expected.png | Bin 12181 -> 19326 bytes ...canvas-transforms-during-path-expected.checksum | 2 +- .../canvas-transforms-during-path-expected.png | Bin 14377 -> 23272 bytes .../fast/canvas/canvasDrawingIntoSelf-expected.png | Bin 8111 -> 16216 bytes .../mac/fast/canvas/drawImage-expected.png | Bin 8111 -> 16216 bytes .../fillrect-gradient-zero-stops-expected.checksum | 2 +- .../fillrect-gradient-zero-stops-expected.png | Bin 20065 -> 29200 bytes .../canvas/fillrect_gradient-expected.checksum | 2 +- .../mac/fast/canvas/fillrect_gradient-expected.png | Bin 51331 -> 88750 bytes ...ent-add-second-start-end-stop-expected.checksum | 2 +- ...gradient-add-second-start-end-stop-expected.png | Bin 3663 -> 14103 bytes .../canvas/gradient-empty-path-expected.checksum | 2 +- .../fast/canvas/gradient-empty-path-expected.png | Bin 9564 -> 19579 bytes .../image-object-in-canvas-expected.checksum | 2 +- .../canvas/image-object-in-canvas-expected.png | Bin 48986 -> 58593 bytes .../canvas/patternfill-repeat-expected.checksum | 2 +- .../fast/canvas/patternfill-repeat-expected.png | Bin 38575 -> 50815 bytes .../fast/canvas/quadraticCurveTo-expected.checksum | 2 +- .../mac/fast/canvas/quadraticCurveTo-expected.png | Bin 11850 -> 19600 bytes .../mac/fast/canvas/shadow-offset-1-expected.png | Bin 8875 -> 16958 bytes .../mac/fast/canvas/shadow-offset-2-expected.png | Bin 8927 -> 16986 bytes .../mac/fast/canvas/shadow-offset-3-expected.png | Bin 8875 -> 16958 bytes .../mac/fast/canvas/shadow-offset-4-expected.png | Bin 8892 -> 16971 bytes .../mac/fast/canvas/shadow-offset-5-expected.png | Bin 8892 -> 16971 bytes .../mac/fast/canvas/shadow-offset-6-expected.png | Bin 8930 -> 16989 bytes .../mac/fast/canvas/shadow-offset-7-expected.png | Bin 8939 -> 16996 bytes .../canvas/zero-size-fill-rect-expected.checksum | 2 +- .../fast/canvas/zero-size-fill-rect-expected.png | Bin 8044 -> 15632 bytes WebCore/ChangeLog | 27 +++++ WebCore/WebCore.xcodeproj/project.pbxproj | 4 + WebCore/platform/graphics/GraphicsContext.cpp | 4 - WebCore/platform/graphics/GraphicsContext.h | 4 - .../graphics/cairo/GraphicsContextCairo.cpp | 17 --- WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 105 +++++++++----------- WebCore/platform/graphics/qt/GraphicsContextQt.cpp | 16 --- WebCore/platform/graphics/wx/GraphicsContextWx.cpp | 16 --- 55 files changed, 152 insertions(+), 128 deletions(-)
Eric Seidel (no email)
Comment 3
2008-10-09 15:07:35 PDT
This fix for transformed patterns is a correctness fix, but still leaves a possible performance regression (we have no performance tests to verify such, but I plan to follow this up with a caching solution to improve performance of pattern painting.)
bug 21510
Eric Seidel (no email)
Comment 4
2008-10-09 15:27:07 PDT
I confirm Oliver's findings, that
r35963
works fine, but the nightly from
r35973
fails in the same way as ToT. Even after fixing transformed patterns that does not fix whatever bug DOOM is hitting. :(
Eric Seidel (no email)
Comment 5
2008-10-09 15:53:22 PDT
These tests are newly busted as well:
http://philip.html5.org/tests/canvas/suite/tests/2d.pattern.paint.repeatx.basic.html
http://philip.html5.org/tests/canvas/suite/tests/2d.pattern.paint.repeatx.coord1.html
Fixing those two might fix our DOOM issues, although I kinda doubt it.
Oliver Hunt
Comment 6
2008-10-09 15:58:51 PDT
Comment on
attachment 24239
[details]
Fix transformed patterns r=me
Eric Seidel (no email)
Comment 7
2008-10-09 16:09:45 PDT
Unfortunately the tree had some sort of canvas relating crash which causes:
http://philip.html5.org/tests/canvas/suite/tests/reportgen.html?175,1
to crash, making this extra hard to debug. :(
Eric Seidel (no email)
Comment 8
2008-10-09 16:49:25 PDT
The patch of doom:
http://trac.webkit.org/changeset/35966
Eric Seidel (no email)
Comment 9
2008-10-09 19:20:32 PDT
Created
attachment 24248
[details]
Reviewed by Oliver Hunt. Fix Canvex DOOM Game Gradient clips were not getting cleared after filling the gradient, this was causing nothing to draw in Canvex
https://bugs.webkit.org/show_bug.cgi?id=21498
Tests forthcoming. * WebCore.xcodeproj/project.pbxproj: * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): --- WebCore/ChangeLog | 17 +++++++++++++++++ WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 15 +++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-)
Eric Seidel (no email)
Comment 10
2008-10-09 19:20:33 PDT
Created
attachment 24249
[details]
Test cases LayoutTests/ChangeLog | 14 ++++ .../fast/canvas/gradient-with-clip-expected.txt | 10 +++ LayoutTests/fast/canvas/gradient-with-clip.html | 13 ++++ .../canvas/pattern-with-transform-expected.txt | 10 +++ .../fast/canvas/pattern-with-transform.html | 13 ++++ LayoutTests/fast/canvas/resources/TEMPLATE.html | 13 ++++ .../fast/canvas/resources/gradient-with-clip.js | 65 ++++++++++++++++++++ .../canvas/resources/pattern-with-transform.js | 57 +++++++++++++++++ WebKitTools/ChangeLog | 8 +++ WebKitTools/Scripts/make-js-test-wrappers | 1 + 10 files changed, 204 insertions(+), 0 deletions(-)
Eric Seidel (no email)
Comment 11
2008-10-09 19:28:37 PDT
Committing to
http://svn.webkit.org/repository/webkit/trunk
... M WebCore/ChangeLog M WebCore/platform/graphics/cg/GraphicsContextCG.cpp Committed
r37460
Committing to
http://svn.webkit.org/repository/webkit/trunk
... M LayoutTests/ChangeLog A LayoutTests/fast/canvas/gradient-with-clip-expected.txt A LayoutTests/fast/canvas/gradient-with-clip.html A LayoutTests/fast/canvas/pattern-with-transform-expected.txt A LayoutTests/fast/canvas/pattern-with-transform.html A LayoutTests/fast/canvas/resources/TEMPLATE.html A LayoutTests/fast/canvas/resources/gradient-with-clip.js A LayoutTests/fast/canvas/resources/pattern-with-transform.js M WebKitTools/ChangeLog M WebKitTools/Scripts/make-js-test-wrappers Committed
r37461
bug 21510
still remains,but that will have to wait until after my vacation. :)
Oliver Hunt
Comment 12
2008-10-16 02:24:36 PDT
***
Bug 20665
has been marked as a duplicate of this bug. ***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug