Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / graphics / filters / FEBlend.cpp
index 0761253..b162660 100644 (file)
 #include "config.h"
 #include "platform/graphics/filters/FEBlend.h"
 
-#include "SkBitmapSource.h"
 #include "SkXfermodeImageFilter.h"
-#include "platform/graphics/GraphicsContext.h"
-#include "platform/graphics/cpu/arm/filters/FEBlendNEON.h"
 #include "platform/graphics/filters/SkiaImageFilterBuilder.h"
-#include "platform/graphics/skia/NativeImageSkia.h"
 #include "platform/graphics/skia/SkiaUtils.h"
 #include "platform/text/TextStream.h"
-#include "wtf/Uint8ClampedArray.h"
-
-typedef unsigned char (*BlendType)(unsigned char colorA, unsigned char colorB, unsigned char alphaA, unsigned char alphaB);
 
 namespace blink {
 
@@ -63,73 +56,6 @@ bool FEBlend::setBlendMode(WebBlendMode mode)
     return true;
 }
 
-#if HAVE(ARM_NEON_INTRINSICS)
-bool FEBlend::applySoftwareNEON()
-{
-    if (m_mode != WebBlendModeNormal
-        && m_mode != WebBlendModeMultiply
-        && m_mode != WebBlendModeScreen
-        && m_mode != WebBlendModeDarken
-        && m_mode != WebBlendModeLighten)
-        return false;
-
-    Uint8ClampedArray* dstPixelArray = createPremultipliedImageResult();
-    if (!dstPixelArray)
-        return true;
-
-    FilterEffect* in = inputEffect(0);
-    FilterEffect* in2 = inputEffect(1);
-
-    IntRect effectADrawingRect = requestedRegionOfInputImageData(in->absolutePaintRect());
-    RefPtr<Uint8ClampedArray> srcPixelArrayA = in->asPremultipliedImage(effectADrawingRect);
-
-    IntRect effectBDrawingRect = requestedRegionOfInputImageData(in2->absolutePaintRect());
-    RefPtr<Uint8ClampedArray> srcPixelArrayB = in2->asPremultipliedImage(effectBDrawingRect);
-
-    unsigned pixelArrayLength = srcPixelArrayA->length();
-    ASSERT(pixelArrayLength == srcPixelArrayB->length());
-
-    if (pixelArrayLength >= 8) {
-        platformApplyNEON(srcPixelArrayA->data(), srcPixelArrayB->data(), dstPixelArray->data(), pixelArrayLength);
-    } else {
-        // If there is just one pixel we expand it to two.
-        ASSERT(pixelArrayLength > 0);
-        uint32_t sourceA[2] = {0, 0};
-        uint32_t sourceBAndDest[2] = {0, 0};
-
-        sourceA[0] = reinterpret_cast<uint32_t*>(srcPixelArrayA->data())[0];
-        sourceBAndDest[0] = reinterpret_cast<uint32_t*>(srcPixelArrayB->data())[0];
-        platformApplyNEON(reinterpret_cast<uint8_t*>(sourceA), reinterpret_cast<uint8_t*>(sourceBAndDest), reinterpret_cast<uint8_t*>(sourceBAndDest), 8);
-        reinterpret_cast<uint32_t*>(dstPixelArray->data())[0] = sourceBAndDest[0];
-    }
-    return true;
-}
-#endif
-
-void FEBlend::applySoftware()
-{
-#if HAVE(ARM_NEON_INTRINSICS)
-    if (applySoftwareNEON())
-        return;
-#endif
-
-    FilterEffect* in = inputEffect(0);
-    FilterEffect* in2 = inputEffect(1);
-
-    ImageBuffer* resultImage = createImageBufferResult();
-    if (!resultImage)
-        return;
-    GraphicsContext* filterContext = resultImage->context();
-
-    ImageBuffer* imageBuffer = in->asImageBuffer();
-    ImageBuffer* imageBuffer2 = in2->asImageBuffer();
-    ASSERT(imageBuffer);
-    ASSERT(imageBuffer2);
-
-    filterContext->drawImageBuffer(imageBuffer2, drawingRegionOfInputImage(in2->absolutePaintRect()));
-    filterContext->drawImageBuffer(imageBuffer, drawingRegionOfInputImage(in->absolutePaintRect()), 0, CompositeSourceOver, m_mode);
-}
-
 PassRefPtr<SkImageFilter> FEBlend::createImageFilter(SkiaImageFilterBuilder* builder)
 {
     RefPtr<SkImageFilter> foreground(builder->build(inputEffect(0), operatingColorSpace()));