Changeset 195975 in webkit


Ignore:
Timestamp:
Feb 1, 2016 12:47:10 PM (8 years ago)
Author:
timothy_horton@apple.com
Message:

Snapshot surfaces are forever wired after being compressed
https://bugs.webkit.org/show_bug.cgi?id=153751
<rdar://problem/24354546>

Reviewed by Darin Adler.

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::convertToFormat):
Allow IOSurfaceAccelerator to unwire surfaces after they're transformed.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r195971 r195975  
     12016-02-01  Tim Horton  <timothy_horton@apple.com>
     2
     3        Snapshot surfaces are forever wired after being compressed
     4        https://bugs.webkit.org/show_bug.cgi?id=153751
     5        <rdar://problem/24354546>
     6
     7        Reviewed by Darin Adler.
     8
     9        * platform/graphics/cocoa/IOSurface.mm:
     10        (IOSurface::convertToFormat):
     11        Allow IOSurfaceAccelerator to unwire surfaces after they're transformed.
     12
    1132016-02-01  Dan Bernstein  <mitz@apple.com>
    214
  • trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm

    r195082 r195975  
    4242CGImageRef CGIOSurfaceContextCreateImageReference(CGContextRef);
    4343}
     44
     45#if PLATFORM(IOS)
     46// Move this into the SPI header once it's possible to put inside the APPLE_INTERNAL_SDK block.
     47NSString * const WebIOSurfaceAcceleratorUnwireSurfaceKey = @"UnwireSurface";
     48#endif
    4449
    4550using namespace WebCore;
     
    411416    };
    412417
    413     IOReturn ret = IOSurfaceAcceleratorTransformSurface(accelerator, inSurface->surface(), destinationIOSurfaceRef, nullptr, nullptr, &completion, nullptr, nullptr);
     418    NSDictionary *options = @{ WebIOSurfaceAcceleratorUnwireSurfaceKey : @YES };
     419
     420    IOReturn ret = IOSurfaceAcceleratorTransformSurface(accelerator, inSurface->surface(), destinationIOSurfaceRef, (CFDictionaryRef)options, nullptr, &completion, nullptr, nullptr);
    414421    ASSERT_UNUSED(ret, ret == kIOReturnSuccess);
    415422}
Note: See TracChangeset for help on using the changeset viewer.