Open Bug 961759 Opened 12 years ago Updated 10 months ago

Add NEON optimizations for Moz2D filters

Categories

(Core :: Graphics, defect)

defect

Tracking

()

ASSIGNED

People

(Reporter: mstange, Assigned: mstange)

References

(Depends on 2 open bugs, Blocks 1 open bug)

Details

(Keywords: webcompat:platform-bug)

User Story

user-impact-score:0

Attachments

(3 files, 1 obsolete file)

No description provided.
Attached patch wip (obsolete) — Splinter Review
Work left to do: - cleanup - Maybe add an alternative implementation for color matrix that maps better to NEON and does less things that are only map well to SSE2 - Find out why fopen("/proc/cpuinfo", "r") fails on my unrooted Nexus 4 with Android 4.4.2 - it only fails when called from Factory.cpp / FactorHasNEON.c, but it works when called from pixman-arm.c, and I don't know why - Remove as much of the ApplyComposition code as possible and use DrawTargetCairo instead, which should already have fast paths for this - For every NEON implementation, verify that it's actually faster than using the scalar code
Depends on: 1064875
Depends on: 1076697
Attachment #8363718 - Attachment is obsolete: true
Attachment #8498671 - Flags: review?(bas)
Attachment #8498672 - Flags: review?(bas)
The B2G ICS Emulator failures of feDisplacementMap-alpha-01.svg and feTurbulence-offset.svg are slightly worrying, but I haven't been able to reproduce them on my Flame. While unlikely, I hope they're caused by an emulator bug. https://tbpl.mozilla.org/?tree=Try&rev=5ef38ec96df7
Attachment #8498675 - Flags: review?(bas)
Comment on attachment 8498675 [details] [diff] [review] part 3: Add NEON support Review of attachment 8498675 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/2d/FilterProcessing.cpp @@ +52,1 @@ > } oops, will fix this
Attachment #8498671 - Flags: review?(bas) → review+
Attachment #8498672 - Flags: review?(bas) → review+
Comment on attachment 8498675 [details] [diff] [review] part 3: Add NEON support Review of attachment 8498675 [details] [diff] [review]: ----------------------------------------------------------------- This code is fairly hard to review, make sure it's well tested! Since with the current patch it's never used ;-). ::: gfx/2d/FilterProcessing.cpp @@ +52,1 @@ > } good ;) I suspect this will make Neon usage really really rare ;-) *starts looking for a processor with SSE2 and Neon support*
Attachment #8498675 - Flags: review?(bas) → review+
Blocks: 1556022
Severity: normal → S3
Blocks: 1887129
User Story: (updated)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: