⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 187545 in webkit


Ignore:
Timestamp:
Jul 29, 2015, 5:35:31 AM (11 years ago)
Author:
dino@apple.com
Message:

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):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r187544 r187545  
     12015-07-29  Dean Jackson  <dino@apple.com>
     2
     3        Remove dispatch_apply_f and instead use vImage more directly
     4        https://bugs.webkit.org/show_bug.cgi?id=147391
     5        <rdar://problem/21893047>
     6
     7        Fix the iOS builds.
     8
     9        * platform/graphics/cg/ImageBufferDataCG.cpp:
     10        (WebCore::unpremultiplyBufferData):
     11        (WebCore::premultiplyBufferData):
     12
    1132015-07-29  Chris Dumez  <cdumez@apple.com>
    214
  • trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp

    r187536 r187545  
    5858#if USE(ACCELERATE)
    5959#if USE_ARGB32 || USE(IOSURFACE_CANVAS_BACKING_STORE)
     60static void unpremultiplyBufferData(const vImage_Buffer& src, const vImage_Buffer& dest)
     61{
     62    ASSERT(src.data);
     63    ASSERT(dest.data);
     64
     65    if (kvImageNoError != vImageUnpremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags))
     66        return;
     67
     68    // Swap channels 1 and 3, to convert BGRA<->RGBA. IOSurfaces are BGRA, ImageData expects RGBA.
     69    const uint8_t map[4] = { 2, 1, 0, 3 };
     70    vImagePermuteChannels_ARGB8888(&dest, &dest, map, kvImageNoFlags);
     71}
     72
     73#if !PLATFORM(IOS_SIMULATOR)
    6074static void premultiplyBufferData(const vImage_Buffer& src, const vImage_Buffer& dest)
    6175{
     
    7084    vImagePermuteChannels_ARGB8888(&dest, &dest, map, kvImageNoFlags);
    7185}
    72 
    73 static void unpremultiplyBufferData(const vImage_Buffer& src, const vImage_Buffer& dest)
    74 {
    75     ASSERT(src.data);
    76     ASSERT(dest.data);
    77 
    78     if (kvImageNoError != vImageUnpremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags))
    79         return;
    80 
    81     // Swap channels 1 and 3, to convert BGRA<->RGBA. IOSurfaces are BGRA, ImageData expects RGBA.
    82     const uint8_t map[4] = { 2, 1, 0, 3 };
    83     vImagePermuteChannels_ARGB8888(&dest, &dest, map, kvImageNoFlags);
    84 }
     86#endif // !PLATFORM(IOS_SIMULATOR)
    8587#endif // USE_ARGB32 || USE(IOSURFACE_CANVAS_BACKING_STORE)
    8688
     89#if !PLATFORM(IOS_SIMULATOR)
    8790static void affineWarpBufferData(const vImage_Buffer& src, const vImage_Buffer& dest, float scale)
    8891{
     
    9194    vImageAffineWarp_ARGB8888(&src, &dest, 0, &scaleTransform, backgroundColor, kvImageEdgeExtend);
    9295}
    93 
     96#endif // !PLATFORM(IOS_SIMULATOR)
    9497#endif // USE(ACCELERATE)
    9598
Note: See TracChangeset for help on using the changeset viewer.