Changeset 161001 in webkit


Ignore:
Timestamp:
Dec 23, 2013 10:27:20 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r160945.
http://trac.webkit.org/changeset/160945
https://bugs.webkit.org/show_bug.cgi?id=126164

Seems to have broken multiple canvas tests (Requested by ap on
#webkit).

PerformanceTests:

  • Canvas/reuse.html: Removed.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
  • platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::createIOSurface):
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):

LayoutTests:

  • fast/canvas/canvas-backing-store-reuse-expected.txt: Removed.
  • fast/canvas/canvas-backing-store-reuse.html: Removed.
Location:
trunk
Files:
5 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r160999 r161001  
     12013-12-23  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r160945.
     4        http://trac.webkit.org/changeset/160945
     5        https://bugs.webkit.org/show_bug.cgi?id=126164
     6
     7        Seems to have broken multiple canvas tests (Requested by ap on
     8        #webkit).
     9
     10        * fast/canvas/canvas-backing-store-reuse-expected.txt: Removed.
     11        * fast/canvas/canvas-backing-store-reuse.html: Removed.
     12
    1132013-12-23  Alexey Proskuryakov  <ap@apple.com>
    214
  • trunk/PerformanceTests/ChangeLog

    r160945 r161001  
     12013-12-23  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r160945.
     4        http://trac.webkit.org/changeset/160945
     5        https://bugs.webkit.org/show_bug.cgi?id=126164
     6
     7        Seems to have broken multiple canvas tests (Requested by ap on
     8        #webkit).
     9
     10        * Canvas/reuse.html: Removed.
     11
    1122013-12-09  Myles C. Maxfield  <mmaxfield@apple.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r161000 r161001  
     12013-12-23  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r160945.
     4        http://trac.webkit.org/changeset/160945
     5        https://bugs.webkit.org/show_bug.cgi?id=126164
     6
     7        Seems to have broken multiple canvas tests (Requested by ap on
     8        #webkit).
     9
     10        * WebCore.xcodeproj/project.pbxproj:
     11        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
     12        * platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
     13        * platform/graphics/cg/ImageBufferCG.cpp:
     14        (WebCore::createIOSurface):
     15        (WebCore::ImageBuffer::ImageBuffer):
     16        (WebCore::ImageBuffer::~ImageBuffer):
     17
    1182013-12-23  Eric Carlson  <eric.carlson@apple.com>
    219
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r161000 r161001  
    847847                1C18DA58181AF6A500C4EF22 /* TextPainter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C18DA56181AF6A500C4EF22 /* TextPainter.cpp */; };
    848848                1C18DA59181AF6A500C4EF22 /* TextPainter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C18DA57181AF6A500C4EF22 /* TextPainter.h */; };
    849                 1C21E57C183ED1FF001C289D /* ImageBufferBackingStoreCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C21E57A183ED1FF001C289D /* ImageBufferBackingStoreCache.cpp */; };
    850                 1C21E57D183ED1FF001C289D /* ImageBufferBackingStoreCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C21E57B183ED1FF001C289D /* ImageBufferBackingStoreCache.h */; };
    851849                1C26497A0D7E248A00BD10F2 /* DocumentLoaderMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C2649790D7E248A00BD10F2 /* DocumentLoaderMac.cpp */; };
    852850                1C26497C0D7E24EC00BD10F2 /* PageMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C26497B0D7E24EC00BD10F2 /* PageMac.cpp */; };
     
    75057503                1C18DA56181AF6A500C4EF22 /* TextPainter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextPainter.cpp; sourceTree = "<group>"; };
    75067504                1C18DA57181AF6A500C4EF22 /* TextPainter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextPainter.h; sourceTree = "<group>"; };
    7507                 1C21E57A183ED1FF001C289D /* ImageBufferBackingStoreCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageBufferBackingStoreCache.cpp; sourceTree = "<group>"; };
    7508                 1C21E57B183ED1FF001C289D /* ImageBufferBackingStoreCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageBufferBackingStoreCache.h; sourceTree = "<group>"; };
    75097505                1C2649790D7E248A00BD10F2 /* DocumentLoaderMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentLoaderMac.cpp; sourceTree = "<group>"; };
    75107506                1C26497B0D7E24EC00BD10F2 /* PageMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageMac.cpp; sourceTree = "<group>"; };
     
    1928419280                                1FC40FB71655C5910040F29E /* SubimageCacheWithTimer.h */,
    1928519281                                B275352A0B053814002CE64F /* TransformationMatrixCG.cpp */,
    19286                                 1C21E57A183ED1FF001C289D /* ImageBufferBackingStoreCache.cpp */,
    19287                                 1C21E57B183ED1FF001C289D /* ImageBufferBackingStoreCache.h */,
    1928819282                        );
    1928919283                        path = cg;
     
    2370223696                                A6148A7912E41E3B0044A784 /* JSHTMLKeygenElement.h in Headers */,
    2370323697                                1AE2AB220A1CE63B00B42B25 /* JSHTMLLabelElement.h in Headers */,
    23704                                 1C21E57D183ED1FF001C289D /* ImageBufferBackingStoreCache.h in Headers */,
    2370523698                                1AE2AB240A1CE63B00B42B25 /* JSHTMLLegendElement.h in Headers */,
    2370623699                                1AE2AB260A1CE63B00B42B25 /* JSHTMLLIElement.h in Headers */,
     
    2688426877                                4162A4571011464700DFF3ED /* JSDedicatedWorkerGlobalScope.cpp in Sources */,
    2688526878                                4162A454101145E300DFF3ED /* JSDedicatedWorkerGlobalScopeCustom.cpp in Sources */,
    26886                                 1C21E57C183ED1FF001C289D /* ImageBufferBackingStoreCache.cpp in Sources */,
    2688726879                                FDA15ED112B03F94003A583A /* JSDelayNode.cpp in Sources */,
    2688826880                                31FB1A65120A5D3F00DC02A0 /* JSDeviceMotionEvent.cpp in Sources */,
  • trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp

    r160945 r161001  
    4848
    4949#if USE(IOSURFACE_CANVAS_BACKING_STORE)
    50 #include "ImageBufferBackingStoreCache.h"
    5150#include <IOSurface/IOSurface.h>
    5251#endif
     
    5655#if USE(IOSURFACE_CANVAS_BACKING_STORE)
    5756static const int maxIOSurfaceDimension = 4096;
     57
     58static RetainPtr<IOSurfaceRef> createIOSurface(const IntSize& size)
     59{
     60    unsigned pixelFormat = 'BGRA';
     61    unsigned bytesPerElement = 4;
     62    int width = size.width();
     63    int height = size.height();
     64
     65    unsigned long bytesPerRow = IOSurfaceAlignProperty(kIOSurfaceBytesPerRow, size.width() * bytesPerElement);
     66    if (!bytesPerRow)
     67        return 0;
     68
     69    unsigned long allocSize = IOSurfaceAlignProperty(kIOSurfaceAllocSize, size.height() * bytesPerRow);
     70    if (!allocSize)
     71        return 0;
     72
     73    const void *keys[6];
     74    const void *values[6];
     75    keys[0] = kIOSurfaceWidth;
     76    values[0] = CFNumberCreate(0, kCFNumberIntType, &width);
     77    keys[1] = kIOSurfaceHeight;
     78    values[1] = CFNumberCreate(0, kCFNumberIntType, &height);
     79    keys[2] = kIOSurfacePixelFormat;
     80    values[2] = CFNumberCreate(0, kCFNumberIntType, &pixelFormat);
     81    keys[3] = kIOSurfaceBytesPerElement;
     82    values[3] = CFNumberCreate(0, kCFNumberIntType, &bytesPerElement);
     83    keys[4] = kIOSurfaceBytesPerRow;
     84    values[4] = CFNumberCreate(0, kCFNumberLongType, &bytesPerRow);
     85    keys[5] = kIOSurfaceAllocSize;
     86    values[5] = CFNumberCreate(0, kCFNumberLongType, &allocSize);
     87
     88    RetainPtr<CFDictionaryRef> dict = adoptCF(CFDictionaryCreate(0, keys, values, 6, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
     89    for (unsigned i = 0; i < 6; i++)
     90        CFRelease(values[i]);
     91
     92    return adoptCF(IOSurfaceCreate(dict.get()));
     93}
    5894#endif
    5995
     
    121157    if (accelerateRendering) {
    122158#if USE(IOSURFACE_CANVAS_BACKING_STORE)
    123         ImageBufferBackingStoreCache::IOSurfaceAndContext infoFromPool = ImageBufferBackingStoreCache::get().getOrAllocate(
    124             internalSize(), m_data.m_colorSpace, false);
    125         cgContext = infoFromPool.context;
    126         if (cgContext) {
    127             m_data.m_surface = infoFromPool.surface;
    128             m_data.m_backingStoreSize.setWidth(IOSurfaceGetWidth(m_data.m_surface.get()));
    129             m_data.m_backingStoreSize.setHeight(IOSurfaceGetHeight(m_data.m_surface.get()));
    130             m_data.m_bytesPerRow = IOSurfaceGetBytesPerRow(m_data.m_surface.get());
    131         }
     159        m_data.m_surface = createIOSurface(m_data.m_backingStoreSize);
     160        FloatSize userBounds = scaleSizeToUserSpace(FloatSize(width.unsafeGet(), height.unsafeGet()), m_data.m_backingStoreSize, m_size);
     161        cgContext = adoptCF(wkIOSurfaceContextCreate(m_data.m_surface.get(), userBounds.width(), userBounds.height(), m_data.m_colorSpace));
    132162#endif
    133163        if (!cgContext)
     
    159189ImageBuffer::~ImageBuffer()
    160190{
    161 #if USE(IOSURFACE_CANVAS_BACKING_STORE)
    162     if (m_data.m_surface)
    163         ImageBufferBackingStoreCache::get().deallocate(m_data.m_surface.get());
    164 #endif
    165191}
    166192
Note: See TracChangeset for help on using the changeset viewer.