Bug 1378130 - backport of fix for bounds violation in Skia's AAA path rendering. r=jrmuizel

MozReview-Commit-ID: 5NeeQpGYsoZ
This commit is contained in:
Lee Salzman 2017-08-14 16:44:14 -04:00
parent e3d2d72438
commit 362b1401a4
4 changed files with 8 additions and 8 deletions

View File

@ -1496,10 +1496,10 @@ static void aaa_walk_edges(SkAnalyticEdge* prevHead, SkAnalyticEdge* nextTail,
} else {
SkFixed rite = currE->fX;
currE->goY(nextY, yShift);
leftE->fX = SkTMax(leftClip, leftE->fX);
SkFixed nextLeft = SkTMax(leftClip, leftE->fX);
rite = SkTMin(rightClip, rite);
currE->fX = SkTMin(rightClip, currE->fX);
blit_trapezoid_row(blitter, y >> 16, left, rite, leftE->fX, currE->fX,
SkFixed nextRite = SkTMin(rightClip, currE->fX);
blit_trapezoid_row(blitter, y >> 16, left, rite, nextLeft, nextRite,
leftDY, currE->fDY, fullAlpha, maskRow, isUsingMask,
noRealBlitter || (fullAlpha == 0xFF && (
edges_too_close(prevRite, left, leftE->fX) ||

View File

@ -159,8 +159,8 @@ HTTP == background-referrer.html background-referrer-ref.html
== attachment-local-clipping-color-1.html attachment-local-clipping-color-1-ref.html
== attachment-local-clipping-color-2.html attachment-local-clipping-color-1-ref.html # Same ref as the previous test.
== attachment-local-clipping-color-3.html attachment-local-clipping-color-3-ref.html
fuzzy-if(skiaContent,1,300) fuzzy-if(webrender,14-14,1134-1134) == attachment-local-clipping-color-4.html attachment-local-clipping-color-4-ref.html
fuzzy-if(skiaContent,1,400) fuzzy-if(webrender,14-14,1134-1134) == attachment-local-clipping-color-5.html attachment-local-clipping-color-4-ref.html
fuzzy-if(skiaContent,1,300) fuzzy-if(webrender,14-14,1119-1134) == attachment-local-clipping-color-4.html attachment-local-clipping-color-4-ref.html
fuzzy-if(skiaContent,1,400) fuzzy-if(webrender,14-14,1119-1134) == attachment-local-clipping-color-5.html attachment-local-clipping-color-4-ref.html
fuzzy(50,500) fuzzy-if(skiaContent,51,320) fails-if(webrender) == attachment-local-clipping-color-6.html attachment-local-clipping-color-6-ref.html
== attachment-local-clipping-image-1.html attachment-local-clipping-image-1-ref.html

View File

@ -52,7 +52,7 @@ fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) == clipping-5-image.html
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(skiaContent,1,77) == clipping-5-overflow-hidden.html clipping-5-ref.html
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(Android,5,21) fuzzy-if(skiaContent,1,97) == clipping-5-refi.html clipping-5-ref.html
fuzzy-if(true,1,7) fuzzy-if(d2d,48,94) fuzzy-if(cocoaWidget,1,99) fuzzy-if(Android,99,115) fuzzy-if(skiaContent,1,77) == clipping-5-refc.html clipping-5-ref.html # bug 732535
fuzzy-if(winWidget,105,71) fuzzy-if(Android,8,469) fuzzy-if(skiaContent,7,58) fuzzy-if(d3d11&&advancedLayers,120,319) fuzzy-if(webrender,7-7,62-62) fuzzy-if(winWidget&&stylo,137,226-319) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical
fuzzy-if(winWidget,105,71) fuzzy-if(Android,8,469) fuzzy-if(skiaContent,7,58) fuzzy-if(d3d11&&advancedLayers,120,319) fuzzy-if(webrender,7-7,59-62) fuzzy-if(winWidget&&stylo,137,226-319) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical
fuzzy-if(true,2,29) fuzzy-if(d2d,46,50) fuzzy-if(Android,255,586) fuzzy-if(skiaContent,28,96) == clipping-7.html clipping-7-ref.html # ColorLayer and MaskLayer with transforms that aren't identical. Reference image rendered without using layers (which causes fuzzy failures).
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) == clipping-and-zindex-1.html clipping-and-zindex-1-ref.html
fuzzy-if(cocoaWidget,1,4) fuzzy-if(d3d11&&advancedLayers,30,3) == intersecting-clipping-1-canvas.html intersecting-clipping-1-refc.html

View File

@ -1138,7 +1138,7 @@ fails-if(!styloVsGecko) == 428810-3e-rtl-insets.html 428810-empty-rtl-insets-ref
== 433700.html 433700-ref.html
== 436356-1.html 436356-1-ref.html
== 436356-2.html 436356-2-ref.html
fuzzy-if(skiaContent,3,1) == 438537-1.html 438537-1-ref.html
fuzzy-if(skiaContent,4,2) == 438537-1.html 438537-1-ref.html
== 438981-1.xhtml about:blank
== 438987-1.html 438987-1-ref.html
fuzzy-if(skiaContent,1,3280) == 438987-2a.html 438987-2-ref.html
@ -1663,7 +1663,7 @@ HTTP(..) == 635639-1.html 635639-1-ref.html
HTTP(..) == 635639-2.html 635639-2-ref.html
random == 637597-1.html 637597-1-ref.html # bug 637597 was never really fixed!
fuzzy-if(Android,8,500) == 637852-1.html 637852-1-ref.html
fuzzy-if(Android,8,500) fuzzy-if(skiaContent,2,1) fuzzy-if(webrender,3,19) == 637852-2.html 637852-2-ref.html
fuzzy-if(Android,8,500) fuzzy-if(skiaContent,3,1) fuzzy-if(webrender,3,19) == 637852-2.html 637852-2-ref.html
fuzzy-if(Android,8,500) == 637852-3.html 637852-3-ref.html
fails-if(webrender&&asyncPan) == 641770-1.html 641770-1-ref.html # bug 1374326 for webrender+APZ
== 641856-1.html 641856-1-ref.html