Modified: trunk/Source/WebCore/ChangeLog (187544 => 187545)
--- trunk/Source/WebCore/ChangeLog 2015-07-29 07:16:34 UTC (rev 187544)
+++ trunk/Source/WebCore/ChangeLog 2015-07-29 12:35:31 UTC (rev 187545)
@@ -1,3 +1,15 @@
+2015-07-29 Dean Jackson <d...@apple.com>
+
+ Remove dispatch_apply_f and instead use vImage more directly
+ https://bugs.webkit.org/show_bug.cgi?id=147391
+ <rdar://problem/21893047>
+
+ Fix the iOS builds.
+
+ * platform/graphics/cg/ImageBufferDataCG.cpp:
+ (WebCore::unpremultiplyBufferData):
+ (WebCore::premultiplyBufferData):
+
2015-07-29 Chris Dumez <cdu...@apple.com>
Avoid unnecessarily constructing PlatformMediaSessionManager on Document destruction
Modified: trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp (187544 => 187545)
--- trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp 2015-07-29 07:16:34 UTC (rev 187544)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp 2015-07-29 12:35:31 UTC (rev 187545)
@@ -57,12 +57,12 @@
#if USE(ACCELERATE)
#if USE_ARGB32 || USE(IOSURFACE_CANVAS_BACKING_STORE)
-static void premultiplyBufferData(const vImage_Buffer& src, const vImage_Buffer& dest)
+static void unpremultiplyBufferData(const vImage_Buffer& src, const vImage_Buffer& dest)
{
ASSERT(src.data);
ASSERT(dest.data);
- if (kvImageNoError != vImagePremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags))
+ if (kvImageNoError != vImageUnpremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags))
return;
// Swap channels 1 and 3, to convert BGRA<->RGBA. IOSurfaces are BGRA, ImageData expects RGBA.
@@ -70,27 +70,30 @@
vImagePermuteChannels_ARGB8888(&dest, &dest, map, kvImageNoFlags);
}
-static void unpremultiplyBufferData(const vImage_Buffer& src, const vImage_Buffer& dest)
+#if !PLATFORM(IOS_SIMULATOR)
+static void premultiplyBufferData(const vImage_Buffer& src, const vImage_Buffer& dest)
{
ASSERT(src.data);
ASSERT(dest.data);
- if (kvImageNoError != vImageUnpremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags))
+ if (kvImageNoError != vImagePremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags))
return;
// Swap channels 1 and 3, to convert BGRA<->RGBA. IOSurfaces are BGRA, ImageData expects RGBA.
const uint8_t map[4] = { 2, 1, 0, 3 };
vImagePermuteChannels_ARGB8888(&dest, &dest, map, kvImageNoFlags);
}
+#endif // !PLATFORM(IOS_SIMULATOR)
#endif // USE_ARGB32 || USE(IOSURFACE_CANVAS_BACKING_STORE)
+#if !PLATFORM(IOS_SIMULATOR)
static void affineWarpBufferData(const vImage_Buffer& src, const vImage_Buffer& dest, float scale)
{
vImage_AffineTransform scaleTransform = { scale, 0, 0, scale, 0, 0 }; // FIXME: Add subpixel translation.
Pixel_8888 backgroundColor;
vImageAffineWarp_ARGB8888(&src, &dest, 0, &scaleTransform, backgroundColor, kvImageEdgeExtend);
}
-
+#endif // !PLATFORM(IOS_SIMULATOR)
#endif // USE(ACCELERATE)
RefPtr<Uint8ClampedArray> ImageBufferData::getData(const IntRect& rect, const IntSize& size, bool accelerateRendering, bool unmultiplied, float resolutionScale) const