Title: [164058] trunk/Source/WebCore
- Revision
- 164058
- Author
- [email protected]
- Date
- 2014-02-13 14:45:42 -0800 (Thu, 13 Feb 2014)
Log Message
Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
https://bugs.webkit.org/show_bug.cgi?id=128767
Reviewed by Dean Jackson.
This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.
Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
an uninitialized variable compiler warning in the existing code.
* platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
(WebCore::FEComposite::computeArithmeticPixelsNeon):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (164057 => 164058)
--- trunk/Source/WebCore/ChangeLog 2014-02-13 22:34:18 UTC (rev 164057)
+++ trunk/Source/WebCore/ChangeLog 2014-02-13 22:45:42 UTC (rev 164058)
@@ -1,3 +1,19 @@
+2014-02-13 Daniel Bates <[email protected]>
+
+ Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
+ https://bugs.webkit.org/show_bug.cgi?id=128767
+
+ Reviewed by Dean Jackson.
+
+ This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.
+
+ Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
+ Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
+ an uninitialized variable compiler warning in the existing code.
+
+ * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
+ (WebCore::FEComposite::computeArithmeticPixelsNeon):
+
2014-02-13 Myles C. Maxfield <[email protected]>
During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
Modified: trunk/Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h (164057 => 164058)
--- trunk/Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h 2014-02-13 22:34:18 UTC (rev 164057)
+++ trunk/Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h 2014-02-13 22:45:42 UTC (rev 164058)
@@ -49,14 +49,9 @@
uint32_t* destinationEndPixel = destinationPixel + (pixelArrayLength >> 2);
while (destinationPixel < destinationEndPixel) {
- uint32x2_t temporary1 = vset_lane_u32(*sourcePixel, temporary1, 0);
- uint16x4_t temporary2 = vget_low_u16(vmovl_u8(vreinterpret_u8_u32(temporary1)));
- float32x4_t sourcePixelAsFloat = vcvtq_f32_u32(vmovl_u16(temporary2));
+ float32x4_t sourcePixelAsFloat = loadRGBA8AsFloat(sourcePixel);
+ float32x4_t destinationPixelAsFloat = loadRGBA8AsFloat(destinationPixel);
- temporary1 = vset_lane_u32(*destinationPixel, temporary1, 0);
- temporary2 = vget_low_u16(vmovl_u8(vreinterpret_u8_u32(temporary1)));
- float32x4_t destinationPixelAsFloat = vcvtq_f32_u32(vmovl_u16(temporary2));
-
float32x4_t result = vmulq_f32(sourcePixelAsFloat, k2x4);
result = vmlaq_f32(result, destinationPixelAsFloat, k3x4);
if (b1)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes