Closed Bug 854296 Opened 10 years ago Closed 8 years ago

SVG miterlimit rendered incorrectly with gfx.content.azure.enabled = true

Categories

(Core :: SVG, defect, P3)

17 Branch
x86_64
Windows 7
defect

Tracking

()

RESOLVED FIXED
mozilla37
Tracking Status
firefox19 --- affected
firefox20 --- affected
firefox21 --- affected
firefox22 --- affected
firefox23 --- affected
firefox24 --- affected
firefox25 --- affected
firefox-esr17 --- affected

People

(Reporter: Eduard.Braun2, Assigned: jwatt)

References

(Depends on 1 open bug)

Details

(Keywords: regression)

Attachments

(4 files)

When hardware-acceleration is turned on, the stroke property ‘stroke-miterlimit’ is rendered incorrectly:
Instead of switching from stroke-linejoin="miter" to stroke-linejoin="bevel" when the miter is getting too long, the miter is simply cut when reaching the miterlimit.

See the attachment for a testcase: The miter should only be visible for linejoins with 45° and 30°. For 15° and especially 0° the linejoin should be changed to bevel, therefore stopping at the vertical line (that is on the same x-coordinate than the right-hand nodes of the paths)


Furthermore even with hardware acceleration turned off the rendering seems to be not totally correct:
The linejoin for 15° isn't changed to bevel but one can clearly see two paths overlaid without real linejoin. The 0° linejoin reaches beyond the vertical line instead of stopping directly at the node.
setting gfx.content.azure.enabled = false helps


Regression window(m-c) with force gfx.content.azure.enabled = true
Good:
http://hg.mozilla.org/mozilla-central/rev/9c4f810196d2
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120105 Firefox/12.0a1 ID:20120105060225
Bad:
http://hg.mozilla.org/mozilla-central/rev/595fba5b92d4
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120105 Firefox/12.0a1 ID:20120105065423
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=9c4f810196d2&tochange=595fba5b92d4

Regression window(m-i) with force gfx.content.azure.enabled = true
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/c87c1aedefd4
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120104 Firefox/12.0a1 ID:20120104212324
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/590333161e6f
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120104 Firefox/12.0a1 ID:20120104231823
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=c87c1aedefd4&tochange=590333161e6f

Regressed by: Bug 711063
Blocks: 715768, 711063
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
Version: 19 Branch → 17 Branch
(In reply to Eduard Braun from comment #0)
> 
> Furthermore even with hardware acceleration turned off the rendering seems
> to be not totally correct:
> The linejoin for 15° isn't changed to bevel but one can clearly see two
> paths overlaid without real linejoin. The 0° linejoin reaches beyond the
> vertical line instead of stopping directly at the node.

You should raise other bugs for these cases.
Summary: SVG miterlimit rendered incorrectly with hardware acceleration turned on (and even without HW acceleration) → SVG miterlimit rendered incorrectly with gfx.content.azure.enabled = true
Duplicate of this bug: 902879
Bas, can you take a look at this and see what's going on?
Flags: needinfo?(bas)
Priority: -- → P3
Attachment #8499396 - Attachment mime type: text/plain → image/svg+xml
Attachment #8499396 - Attachment mime type: image/svg+xml → text/html
Duplicate of this bug: 975958
(In reply to Alice0775 White from bug 975958 comment #0)
> Aaannndd... just to push me over the edge, same web page does not fail (all
> shapes display just fine) on Windows 7 with 27.0.1, while fails still on my
> Windows 8 also with 27.0.1.   Gaaaaa.....

Not sure why that would be the case. I doubt driver blacklisting affects this aspect of painting.
Did your patches fix this problem jwatt?
Flags: needinfo?(bas) → needinfo?(jwatt)
Attached patch patchSplinter Review
No, but this will.
Assignee: nobody → jwatt
Flags: needinfo?(jwatt)
Attachment #8537226 - Flags: review?(bas)
Attachment #8537226 - Flags: review?(bas) → review+
Attachment #8537232 - Flags: review?(bas) → review+
Comment on attachment 8537232 [details] [diff] [review]
document Moz2D's JoinStyle::MITER to note that its behavior is backend dependant

https://hg.mozilla.org/integration/mozilla-inbound/rev/83d940ea1491
Attachment #8537232 - Flags: checkin+
https://hg.mozilla.org/mozilla-central/rev/91928ad7ef73
https://hg.mozilla.org/mozilla-central/rev/83d940ea1491
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
Depends on: 1338704
You need to log in before you can comment on or make changes to this bug.