Optimize RGBA4444ToRGBA8 packing/unpacking functions with NEON intrinsics in Graphics...
authorrgabor@webkit.org <rgabor@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Nov 2012 08:33:08 +0000 (08:33 +0000)
committerrgabor@webkit.org <rgabor@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Nov 2012 08:33:08 +0000 (08:33 +0000)
commitf944f04160d568dab6db15bc9183907168f54677
tree9305ce6945356b5aab403037d930c05502d76bca
parent68a74b88f95a0bdfb3ca65587e520b6e329921a3
Optimize RGBA4444ToRGBA8 packing/unpacking functions with NEON intrinsics in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=101473

Reviewed by Zoltan Herczeg.

With NEON intrinsics the packing/unpacking functions can be optimized well.
This particular function is about 3 times faster with ARM NEON. On top level tests
the speed up was 1.18x.

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsContext3D.cpp:
(WebCore):
* platform/graphics/cpu/arm/GraphicsContext3DNEON.h: Added.
(WebCore):
(ARM):
(WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
(WebCore::ARM::packOneRowOfRGBA8ToUnsignedShort4444NEON):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@134378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/WebCore.gyp/WebCore.gyp
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.pri
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/platform/graphics/GraphicsContext3D.cpp
Source/WebCore/platform/graphics/cpu/arm/GraphicsContext3DNEON.h [new file with mode: 0644]