Open
Bug 1029085
Opened 11 years ago
Updated 3 years ago
Skia's SuperBlitter and MaskSuperBlitter produce different results
Categories
(Core :: Graphics, defect)
Tracking
()
NEW
People
(Reporter: jrmuizel, Unassigned)
References
Details
Attachments
(2 files, 1 obsolete file)
|
1.84 KB,
patch
|
Details | Diff | Splinter Review | |
|
2.06 KB,
patch
|
Details | Diff | Splinter Review |
This causes marker-orientation-01.svg and marker-orientation-02.svg to fail.
It's not completely clear to me which one is correct, but this makes them the same.
Drawing a triangle with these points shows the different results
+ [0] {fX=25.000000 fY=10.000000 } SkPoint
+ [1] {fX=35.000000 fY=20.000000 } SkPoint
+ [2] {fX=25.000000 fY=30.000000 } SkPoint
| Reporter | ||
Updated•11 years ago
|
Blocks: skia-reftest
| Reporter | ||
Updated•11 years ago
|
Attachment #8444631 -
Attachment is obsolete: true
| Reporter | ||
Comment 1•11 years ago
|
||
| Reporter | ||
Comment 2•11 years ago
|
||
Comment on attachment 8470858 [details] [diff] [review]
The actual patch this time
Review of attachment 8470858 [details] [diff] [review]:
-----------------------------------------------------------------
Here's some rationale:
::: gfx/skia/trunk/src/core/SkScan_AntiPath.cpp
@@ +464,5 @@
> static void add_aa_span(uint8_t* alpha, U8CPU startAlpha, int middleCount,
> U8CPU stopAlpha, U8CPU maxValue) {
> SkASSERT(middleCount >= 0);
>
> + if (startAlpha) {
This matches SkAlphaRuns::add() and is needed now that we allow add_aa_span to take a startAlpha of 0
@@ +548,5 @@
> } else {
> + if (fb == 0)
> + n += 1;
> + else
> + fb = SCALE - fb;
SuperBlitter::blitH has this same test.
| Reporter | ||
Comment 3•11 years ago
|
||
This version adds one branch instead of two. The branch also has the possibility to avoid extra work because we only do the first part of add_aa_span when needed.
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•