NEON intrinsics should be used with gaussian blur filter
authorrgabor@webkit.org <rgabor@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jul 2012 12:31:56 +0000 (12:31 +0000)
committerrgabor@webkit.org <rgabor@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jul 2012 12:31:56 +0000 (12:31 +0000)
commit99d1d2d970e29b24831df3e08d01b4aa032cfd37
treecc9e275d64c892fa74e129c45ca2fc7c1f4a64b3
parent2b54c4bde413e346a56fc9e5faac43c7dcfe99af
NEON intrinsics should be used with gaussian blur filter
https://bugs.webkit.org/show_bug.cgi?id=90166

Reviewed by Zoltan Herczeg.

Rewrite inline assembly to NEON intrinsics for better portabilty
and readibility. Remove unnecessary FEGaussianBlurNEON.cpp and add
NEONHelpers.h to the project which will contains the shared
NEON code of the filters.

Existing tests cover this issue.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::platformApplyWorker):
* platform/graphics/filters/FEGaussianBlur.h:
(FEGaussianBlur):
* platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Removed.
* platform/graphics/filters/arm/FEGaussianBlurNEON.h:
(WebCore::boxBlurNEON):
* platform/graphics/filters/arm/NEONHelpers.h: Added.
(WebCore):
(WebCore::loadRGBA8AsFloat):
(WebCore::storeFloatAsRGBA8):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp
Source/WebCore/platform/graphics/filters/FEGaussianBlur.h
Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.cpp [deleted file]
Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.h
Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h [new file with mode: 0644]