From 5546aa435a4aa84cc6e644ff03d488a6d4fd85bf Mon Sep 17 00:00:00 2001 From: "aroben@apple.com" Date: Fri, 30 Jul 2010 17:37:55 +0000 Subject: [PATCH] Remove uses of CACFContextRef and CARender* from WebCore These types are now wrapped in a WKCACFContext type exported by WebKitSystemInterface. Fixes . Reviewed by Sam Weinig. WebCore: * platform/graphics/win/WKCACFContextFlusher.cpp: (WebCore::WKCACFContextFlusher::addContext): (WebCore::WKCACFContextFlusher::removeContext): (WebCore::WKCACFContextFlusher::flushAllContexts): * platform/graphics/win/WKCACFContextFlusher.h: Changed to use WKCACFContext. We don't retain/release the context when putting it into/taking it out of the set. WKCACFContext is not a ref-counted type, so we can't retain/release it, but the retain/release was also unnecessary as WKCACFLayerRenderer calls removeContext before the context is destroyed. * platform/graphics/win/WKCACFLayer.cpp: (WebCore::WKCACFLayer::becomeRootLayerForContext): * platform/graphics/win/WKCACFLayer.h: Changed to use WKCACFContext. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::didFlushContext): (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): (WebCore::WKCACFLayerRenderer::layerTreeDidChange): (WebCore::WKCACFLayerRenderer::createRenderer): (WebCore::WKCACFLayerRenderer::destroyRenderer): (WebCore::WKCACFLayerRenderer::render): Also replaced uses of CGSRegion with WebKitSystemInterface functions/types. (WebCore::WKCACFLayerRenderer::resetDevice): * platform/graphics/win/WKCACFLayerRenderer.h: Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext with a single WKCACFContext, which wraps all three. We hold a bare pointer to it and destroy it in our destructor. WebKitLibraries: Add WKCACFContext and related functions Also added some functions used by WKCAImageQueue. * win/include/WebKitSystemInterface/WebKitSystemInterface.h: * win/lib/WebKitSystemInterface.lib: * win/lib/WebKitSystemInterface_debug.lib: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64361 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- WebCore/ChangeLog | 42 +++++++++++++ .../platform/graphics/win/WKCACFContextFlusher.cpp | 23 +++---- .../platform/graphics/win/WKCACFContextFlusher.h | 8 +-- WebCore/platform/graphics/win/WKCACFLayer.cpp | 13 ++-- WebCore/platform/graphics/win/WKCACFLayer.h | 4 +- .../platform/graphics/win/WKCACFLayerRenderer.cpp | 68 ++++++++------------- .../platform/graphics/win/WKCACFLayerRenderer.h | 10 +-- WebKitLibraries/ChangeLog | 14 +++++ .../WebKitSystemInterface/WebKitSystemInterface.h | 67 +++++++++++++++++++- WebKitLibraries/win/lib/WebKitSystemInterface.lib | Bin 178620 -> 198736 bytes .../win/lib/WebKitSystemInterface_debug.lib | Bin 85296 -> 105870 bytes 11 files changed, 168 insertions(+), 81 deletions(-) diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index b241f56..d70172d 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,5 +1,47 @@ 2010-07-30 Adam Roben + Remove uses of CACFContextRef and CARender* from WebCore + + These types are now wrapped in a WKCACFContext type exported by + WebKitSystemInterface. + + Fixes . + + Reviewed by Sam Weinig. + + * platform/graphics/win/WKCACFContextFlusher.cpp: + (WebCore::WKCACFContextFlusher::addContext): + (WebCore::WKCACFContextFlusher::removeContext): + (WebCore::WKCACFContextFlusher::flushAllContexts): + * platform/graphics/win/WKCACFContextFlusher.h: + Changed to use WKCACFContext. We don't retain/release the context when + putting it into/taking it out of the set. WKCACFContext is not a + ref-counted type, so we can't retain/release it, but the + retain/release was also unnecessary as WKCACFLayerRenderer calls + removeContext before the context is destroyed. + + * platform/graphics/win/WKCACFLayer.cpp: + (WebCore::WKCACFLayer::becomeRootLayerForContext): + * platform/graphics/win/WKCACFLayer.h: + Changed to use WKCACFContext. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::didFlushContext): + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::layerTreeDidChange): + (WebCore::WKCACFLayerRenderer::createRenderer): + (WebCore::WKCACFLayerRenderer::destroyRenderer): + (WebCore::WKCACFLayerRenderer::render): Also replaced uses of + CGSRegion with WebKitSystemInterface functions/types. + (WebCore::WKCACFLayerRenderer::resetDevice): + * platform/graphics/win/WKCACFLayerRenderer.h: + Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext + with a single WKCACFContext, which wraps all three. We hold a bare + pointer to it and destroy it in our destructor. + +2010-07-30 Adam Roben + Remove knowledge of WKCACFContextFlusher from WKCACFLayer Fixes WKCACFLayer shouldn't know about diff --git a/WebCore/platform/graphics/win/WKCACFContextFlusher.cpp b/WebCore/platform/graphics/win/WKCACFContextFlusher.cpp index 1685a30..d75c854 100644 --- a/WebCore/platform/graphics/win/WKCACFContextFlusher.cpp +++ b/WebCore/platform/graphics/win/WKCACFContextFlusher.cpp @@ -29,8 +29,8 @@ #include "WKCACFContextFlusher.h" +#include #include -#include namespace WebCore { @@ -48,24 +48,18 @@ WKCACFContextFlusher::~WKCACFContextFlusher() { } -void WKCACFContextFlusher::addContext(CACFContextRef context) +void WKCACFContextFlusher::addContext(WKCACFContext* context) { ASSERT(context); - if (m_contexts.add(context).second) - CFRetain(context); + m_contexts.add(context); } -void WKCACFContextFlusher::removeContext(CACFContextRef context) +void WKCACFContextFlusher::removeContext(WKCACFContext* context) { ASSERT(context); - ContextSet::iterator found = m_contexts.find(context); - if (found == m_contexts.end()) - return; - - CFRelease(*found); - m_contexts.remove(found); + m_contexts.remove(context); } void WKCACFContextFlusher::flushAllContexts() @@ -76,11 +70,8 @@ void WKCACFContextFlusher::flushAllContexts() contextsToFlush.swap(m_contexts); ContextSet::const_iterator end = contextsToFlush.end(); - for (ContextSet::const_iterator it = contextsToFlush.begin(); it != end; ++it) { - CACFContextRef context = *it; - CACFContextFlush(context); - CFRelease(context); - } + for (ContextSet::const_iterator it = contextsToFlush.begin(); it != end; ++it) + wkCACFContextFlush(*it); } } diff --git a/WebCore/platform/graphics/win/WKCACFContextFlusher.h b/WebCore/platform/graphics/win/WKCACFContextFlusher.h index 9ce76aa..17ec41d9d 100644 --- a/WebCore/platform/graphics/win/WKCACFContextFlusher.h +++ b/WebCore/platform/graphics/win/WKCACFContextFlusher.h @@ -32,7 +32,7 @@ #include -typedef struct _CACFContext* CACFContextRef; +struct WKCACFContext; namespace WebCore { @@ -40,8 +40,8 @@ class WKCACFContextFlusher : public Noncopyable { public: static WKCACFContextFlusher& shared(); - void addContext(CACFContextRef); - void removeContext(CACFContextRef); + void addContext(WKCACFContext*); + void removeContext(WKCACFContext*); void flushAllContexts(); @@ -49,7 +49,7 @@ private: WKCACFContextFlusher(); ~WKCACFContextFlusher(); - typedef HashSet ContextSet; + typedef HashSet ContextSet; ContextSet m_contexts; }; diff --git a/WebCore/platform/graphics/win/WKCACFLayer.cpp b/WebCore/platform/graphics/win/WKCACFLayer.cpp index b5f3427..416c497 100644 --- a/WebCore/platform/graphics/win/WKCACFLayer.cpp +++ b/WebCore/platform/graphics/win/WKCACFLayer.cpp @@ -30,15 +30,10 @@ #include "WKCACFLayer.h" #include "WKCACFLayerRenderer.h" -#include - +#include #include -#include -#include - -#ifndef NDEBUG #include -#endif +#include namespace WebCore { @@ -165,9 +160,9 @@ WKCACFLayer::~WKCACFLayer() CACFLayerSetDisplayCallback(layer(), 0); } -void WKCACFLayer::becomeRootLayerForContext(CACFContextRef context) +void WKCACFLayer::becomeRootLayerForContext(WKCACFContext* context) { - CACFContextSetLayer(context, layer()); + wkCACFContextSetLayer(context, layer()); setNeedsCommit(); } diff --git a/WebCore/platform/graphics/win/WKCACFLayer.h b/WebCore/platform/graphics/win/WKCACFLayer.h index ed39297..ee19247 100644 --- a/WebCore/platform/graphics/win/WKCACFLayer.h +++ b/WebCore/platform/graphics/win/WKCACFLayer.h @@ -42,6 +42,8 @@ #include "PlatformString.h" #include "TransformationMatrix.h" +struct WKCACFContext; + namespace WebCore { class WKCACFLayer; @@ -80,7 +82,7 @@ public: } // Makes this layer the root when the passed context is rendered - void becomeRootLayerForContext(CACFContextRef); + void becomeRootLayerForContext(WKCACFContext*); static RetainPtr cfValue(float value) { return RetainPtr(AdoptCF, CFNumberCreate(0, kCFNumberFloat32Type, &value)); } static RetainPtr cfValue(const TransformationMatrix& value) diff --git a/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp b/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp index 2a355c2..623d31a 100644 --- a/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp +++ b/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp @@ -36,9 +36,7 @@ #include "WKCACFContextFlusher.h" #include "WKCACFLayer.h" #include "WebCoreInstanceHandle.h" -#include -#include -#include +#include #include #include #include @@ -108,7 +106,7 @@ private: WKCACFLayerRenderer* m_renderer; }; -typedef HashMap ContextToWindowMap; +typedef HashMap ContextToWindowMap; static ContextToWindowMap& windowsForContexts() { @@ -206,7 +204,7 @@ bool WKCACFLayerRenderer::acceleratedCompositingAvailable() return available; } -void WKCACFLayerRenderer::didFlushContext(CACFContextRef context) +void WKCACFLayerRenderer::didFlushContext(WKCACFContext* context) { WKCACFLayerRenderer* window = windowsForContexts().get(context); if (!window) @@ -228,9 +226,7 @@ WKCACFLayerRenderer::WKCACFLayerRenderer(WKCACFLayerRendererClient* client) , m_rootLayer(WKCACFRootLayer::create(this)) , m_scrollLayer(WKCACFLayer::create(WKCACFLayer::Layer)) , m_clipLayer(WKCACFLayer::create(WKCACFLayer::Layer)) - , m_context(AdoptCF, CACFContextCreate(0)) - , m_renderContext(static_cast(CACFContextGetRenderContext(m_context.get()))) - , m_renderer(0) + , m_context(wkCACFContextCreate()) , m_hostWindow(0) , m_renderTimer(this, &WKCACFLayerRenderer::renderTimerFired) , m_scrollPosition(0, 0) @@ -238,7 +234,7 @@ WKCACFLayerRenderer::WKCACFLayerRenderer(WKCACFLayerRendererClient* client) , m_backingStoreDirty(false) , m_mustResetLostDeviceBeforeRendering(false) { - windowsForContexts().set(m_context.get(), this); + windowsForContexts().set(m_context, this); // Under the root layer, we have a clipping layer to clip the content, // that contains a scroll layer that we use for scrolling the content. @@ -267,7 +263,7 @@ WKCACFLayerRenderer::WKCACFLayerRenderer(WKCACFLayerRendererClient* client) #endif if (m_context) - m_rootLayer->becomeRootLayerForContext(m_context.get()); + m_rootLayer->becomeRootLayerForContext(m_context); #ifndef NDEBUG char* printTreeFlag = getenv("CA_PRINT_TREE"); @@ -278,6 +274,7 @@ WKCACFLayerRenderer::WKCACFLayerRenderer(WKCACFLayerRendererClient* client) WKCACFLayerRenderer::~WKCACFLayerRenderer() { destroyRenderer(); + wkCACFContextDestroy(m_context); } WKCACFLayer* WKCACFLayerRenderer::rootLayer() const @@ -335,7 +332,7 @@ void WKCACFLayerRenderer::setRootChildLayer(WKCACFLayer* layer) void WKCACFLayerRenderer::layerTreeDidChange() { - WKCACFContextFlusher::shared().addContext(m_context.get()); + WKCACFContextFlusher::shared().addContext(m_context); renderSoon(); } @@ -413,7 +410,7 @@ bool WKCACFLayerRenderer::createRenderer() m_d3dDevice->SetTransform(D3DTS_PROJECTION, &projection); - m_renderer = CARenderOGLNew(&kCARenderDX9Callbacks, m_d3dDevice.get(), 0); + wkCACFContextInitializeD3DDevice(m_context, m_d3dDevice.get()); if (IsWindow(m_hostWindow)) m_rootLayer->setBounds(bounds()); @@ -424,14 +421,10 @@ bool WKCACFLayerRenderer::createRenderer() void WKCACFLayerRenderer::destroyRenderer() { if (m_context) { - CACFContextSetLayer(m_context.get(), 0); - windowsForContexts().remove(m_context.get()); - WKCACFContextFlusher::shared().removeContext(m_context.get()); + windowsForContexts().remove(m_context); + WKCACFContextFlusher::shared().removeContext(m_context); } - if (m_renderer) - CARenderOGLDestroy(m_renderer); - m_renderer = 0; m_d3dDevice = 0; if (s_d3d) s_d3d->Release(); @@ -519,7 +512,7 @@ void WKCACFLayerRenderer::paint() render(dirtyRects); } -void WKCACFLayerRenderer::render(const Vector& dirtyRects) +void WKCACFLayerRenderer::render(const Vector& windowDirtyRects) { ASSERT(m_d3dDevice); @@ -542,31 +535,21 @@ void WKCACFLayerRenderer::render(const Vector& dirtyRects) CFTimeInterval t = CACurrentMediaTime(); // Give the renderer some space to use. This needs to be valid until the - // CARenderUpdateFinish() call below. + // wkCACFContextFinishUpdate() call below. char space[4096]; - CARenderUpdate* u = CARenderUpdateBegin(space, sizeof(space), t, 0, 0, &bounds); - if (!u) + if (!wkCACFContextBeginUpdate(m_context, space, sizeof(space), t, bounds, windowDirtyRects.data(), windowDirtyRects.size())) return; - CARenderContextLock(m_renderContext); - CARenderUpdateAddContext(u, m_renderContext); - CARenderContextUnlock(m_renderContext); - - for (size_t i = 0; i < dirtyRects.size(); ++i) - CARenderUpdateAddRect(u, &dirtyRects[i]); - HRESULT err = S_OK; do { - CGSRegionObj rgn = CARenderUpdateCopyRegion(u); + // FIXME: don't need to clear dirty region if layer tree is opaque. - if (!rgn) + WKCACFUpdateRectEnumerator* e = wkCACFContextCopyUpdateRectEnumerator(m_context); + if (!e) break; - // FIXME: don't need to clear dirty region if layer tree is opaque. - Vector rects; - CGSRegionEnumeratorObj e = CGSRegionEnumerator(rgn); - for (const CGRect* r = CGSNextRect(e); r; r = CGSNextRect(e)) { + for (const CGRect* r = wkCACFUpdateRectEnumeratorNextRect(e); r; r = wkCACFUpdateRectEnumeratorNextRect(e)) { D3DRECT rect; rect.x1 = r->origin.x; rect.x2 = rect.x1 + r->size.width; @@ -575,8 +558,7 @@ void WKCACFLayerRenderer::render(const Vector& dirtyRects) rects.append(rect); } - CGSReleaseRegionEnumerator(e); - CGSReleaseRegion(rgn); + wkCACFUpdateRectEnumeratorRelease(e); if (rects.isEmpty()) break; @@ -584,13 +566,13 @@ void WKCACFLayerRenderer::render(const Vector& dirtyRects) m_d3dDevice->Clear(rects.size(), rects.data(), D3DCLEAR_TARGET, 0, 1.0f, 0); m_d3dDevice->BeginScene(); - CARenderOGLRender(m_renderer, u); + wkCACFContextRenderUpdate(m_context); m_d3dDevice->EndScene(); err = m_d3dDevice->Present(0, 0, 0, 0); if (err == D3DERR_DEVICELOST) { - CARenderUpdateAddRect(u, &bounds); + wkCACFContextAddUpdateRect(m_context, bounds); if (!resetDevice(LostDevice)) { // We can't reset the device right now. Try again soon. renderSoon(); @@ -599,7 +581,7 @@ void WKCACFLayerRenderer::render(const Vector& dirtyRects) } } while (err == D3DERR_DEVICELOST); - CARenderUpdateFinish(u); + wkCACFContextFinishUpdate(m_context); #ifndef NDEBUG if (m_printTree) @@ -641,7 +623,7 @@ void WKCACFLayerRenderer::initD3DGeometry() bool WKCACFLayerRenderer::resetDevice(ResetReason reason) { ASSERT(m_d3dDevice); - ASSERT(m_renderContext); + ASSERT(m_context); HRESULT hr = m_d3dDevice->TestCooperativeLevel(); @@ -660,10 +642,10 @@ bool WKCACFLayerRenderer::resetDevice(ResetReason reason) // We can reset the device. - // We have to purge the CARenderOGLContext whenever we reset the IDirect3DDevice9 in order to + // We have to release the context's D3D resrouces whenever we reset the IDirect3DDevice9 in order to // destroy any D3DPOOL_DEFAULT resources that Core Animation has allocated (e.g., textures used // for mask layers). See . - CARenderOGLPurge(m_renderer); + wkCACFContextReleaseD3DResources(m_context); D3DPRESENT_PARAMETERS parameters = initialPresentationParameters(); hr = m_d3dDevice->Reset(¶meters); diff --git a/WebCore/platform/graphics/win/WKCACFLayerRenderer.h b/WebCore/platform/graphics/win/WKCACFLayerRenderer.h index 2647c5f..fa890f5 100644 --- a/WebCore/platform/graphics/win/WKCACFLayerRenderer.h +++ b/WebCore/platform/graphics/win/WKCACFLayerRenderer.h @@ -41,9 +41,7 @@ #include interface IDirect3DDevice9; -typedef struct _CACFContext* CACFContextRef; -typedef struct _CARenderContext CARenderContext; -typedef struct _CARenderOGLContext CARenderOGLContext; +struct WKCACFContext; namespace WebCore { @@ -64,7 +62,7 @@ public: ~WKCACFLayerRenderer(); static bool acceleratedCompositingAvailable(); - static void didFlushContext(CACFContextRef); + static void didFlushContext(WKCACFContext*); void setScrollFrame(const IntPoint&, const IntSize&); void setRootContents(CGImageRef); @@ -108,9 +106,7 @@ private: RefPtr m_scrollLayer; RefPtr m_rootChildLayer; RefPtr m_clipLayer; - RetainPtr m_context; - CARenderContext* m_renderContext; - CARenderOGLContext* m_renderer; + WKCACFContext* m_context; HWND m_hostWindow; Timer m_renderTimer; IntPoint m_scrollPosition; diff --git a/WebKitLibraries/ChangeLog b/WebKitLibraries/ChangeLog index 0cd5a9e..4028826 100644 --- a/WebKitLibraries/ChangeLog +++ b/WebKitLibraries/ChangeLog @@ -1,3 +1,17 @@ +2010-07-30 Adam Roben + + Add WKCACFContext and related functions + + Also added some functions used by WKCAImageQueue. + + Fixes . + + Reviewed by Sam Weinig. + + * win/include/WebKitSystemInterface/WebKitSystemInterface.h: + * win/lib/WebKitSystemInterface.lib: + * win/lib/WebKitSystemInterface_debug.lib: + 2010-07-27 Kinuko Yasuda Reviewed by Ojan Vafai. diff --git a/WebKitLibraries/win/include/WebKitSystemInterface/WebKitSystemInterface.h b/WebKitLibraries/win/include/WebKitSystemInterface/WebKitSystemInterface.h index 445b292..ae840ae 100644 --- a/WebKitLibraries/win/include/WebKitSystemInterface/WebKitSystemInterface.h +++ b/WebKitLibraries/win/include/WebKitSystemInterface/WebKitSystemInterface.h @@ -28,21 +28,27 @@ struct CGAffineTransform; struct CGPoint; +struct CGRect; struct CGSize; +struct IDirect3DDevice9; +struct WKCACFContext; +struct WKCACFUpdateRectEnumerator; +typedef struct _CACFLayer* CACFLayerRef; typedef const struct __CFData* CFDataRef; typedef const struct __CFString* CFStringRef; +typedef double CFTimeInterval; typedef struct CGColor* CGColorRef; typedef struct CGContext* CGContextRef; typedef unsigned short CGFontIndex; typedef struct CGFont* CGFontRef; typedef CGFontIndex CGGlyph; typedef wchar_t UChar; +typedef struct _CFURLCredential* CFURLCredentialRef; typedef struct _CFURLResponse* CFURLResponseRef; typedef struct OpaqueCFHTTPCookieStorage* CFHTTPCookieStorageRef; typedef struct _CFURLRequest* CFMutableURLRequestRef; typedef const struct _CFURLRequest* CFURLRequestRef; -typedef struct _CFURLCredential* CFURLCredentialRef; typedef struct __CFHTTPMessage* CFHTTPMessageRef; typedef const struct __CFNumber* CFNumberRef; typedef struct __CFReadStream* CFReadStreamRef; @@ -50,6 +56,12 @@ typedef const struct __CFURL* CFURLRef; typedef struct _CFURLProtectionSpace* CFURLProtectionSpaceRef; typedef struct tagLOGFONTW LOGFONTW; typedef LOGFONTW LOGFONT; +typedef struct _CACFLayer *CACFLayerRef; +typedef struct __CVBuffer *CVBufferRef; +typedef CVBufferRef CVImageBufferRef; +typedef CVImageBufferRef CVPixelBufferRef; +typedef struct _CAImageQueue *CAImageQueueRef; +typedef unsigned long CFTypeID; void wkSetFontSmoothingLevel(int type); int wkGetFontSmoothingLevel(); @@ -89,4 +101,57 @@ CFURLCredentialRef wkCopyCredentialFromCFPersistentStorage(CFURLProtectionSpaceR CFStringRef wkCFNetworkErrorGetLocalizedDescription(CFIndex errorCode); + +enum wkCAImageQueueFlags { + kWKCAImageQueueAsync = 1U << 0, + kWKCAImageQueueFill = 1U << 1, + kWKCAImageQueueProtected = 1U << 2, + kWKCAImageQueueUseCleanAperture = 1U << 3, + kWKCAImageQueueUseAspectRatio = 1U << 4, + kWKCAImageQueueLowQualityColor = 1U << 5, +}; + +enum wkWKCAImageQueueImageType { + kWKCAImageQueueNil = 1, + kWKCAImageQueueSurface, + kWKCAImageQueueBuffer, + kWKCAImageQueueIOSurface, +}; + +enum wkWKCAImageQueueImageFlags { + kWKCAImageQueueOpaque = 1U << 0, + kWKCAImageQueueFlush = 1U << 1, + kWKCAImageQueueWillFlush = 1U << 2, + kWKCAImageQueueFlipped = 1U << 3, + kWKCAImageQueueWaitGPU = 1U << 4, +}; + +typedef void (*wkCAImageQueueReleaseCallback)(unsigned int type, uint64_t id, void *info); +CAImageQueueRef wkCAImageQueueCreate(uint32_t width, uint32_t height, uint32_t capacity); +void wkCAImageQueueInvalidate(CAImageQueueRef iq); +size_t wkCAImageQueueCollect(CAImageQueueRef iq); +bool wkCAImageQueueInsertImage(CAImageQueueRef iq, CFTimeInterval t, unsigned int type, uint64_t id, uint32_t flags, wkCAImageQueueReleaseCallback release, void *info); +uint64_t wkCAImageQueueRegisterPixelBuffer(CAImageQueueRef iq, void *data, size_t data_size, size_t rowbytes, size_t width, size_t height, OSType pixel_format, CFDictionaryRef attachments, uint32_t flags); +void wkCAImageQueueSetFlags(CAImageQueueRef iq, uint32_t mask, uint32_t flags); +uint32_t wkCAImageQueueGetFlags(CAImageQueueRef iq); +CFTypeID wkCAImageQueueGetTypeID(void); + +WKCACFContext* wkCACFContextCreate(); +void wkCACFContextDestroy(WKCACFContext*); + +void wkCACFContextSetLayer(WKCACFContext*, CACFLayerRef); +void wkCACFContextFlush(WKCACFContext*); + +void wkCACFContextInitializeD3DDevice(WKCACFContext*, IDirect3DDevice9*); +void wkCACFContextReleaseD3DResources(WKCACFContext*); + +bool wkCACFContextBeginUpdate(WKCACFContext*, void* buffer, size_t bufferSize, CFTimeInterval time, const CGRect& bounds, const CGRect dirtyRects[], size_t dirtyRectCount); +void wkCACFContextRenderUpdate(WKCACFContext*); +void wkCACFContextFinishUpdate(WKCACFContext*); +void wkCACFContextAddUpdateRect(WKCACFContext*, const CGRect&); + +WKCACFUpdateRectEnumerator* wkCACFContextCopyUpdateRectEnumerator(WKCACFContext*); +const CGRect* wkCACFUpdateRectEnumeratorNextRect(WKCACFUpdateRectEnumerator*); +void wkCACFUpdateRectEnumeratorRelease(WKCACFUpdateRectEnumerator*); + #endif // WebKitSystemInterface_h diff --git a/WebKitLibraries/win/lib/WebKitSystemInterface.lib b/WebKitLibraries/win/lib/WebKitSystemInterface.lib index 4fcc36bd343a78c73bb30c49b33d85ec38ccfc60..d1eafbfe345f5429314bb849767b6c9d9a96438e 100644 GIT binary patch delta 49926 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 delta 33801 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 diff --git a/WebKitLibraries/win/lib/WebKitSystemInterface_debug.lib b/WebKitLibraries/win/lib/WebKitSystemInterface_debug.lib index 6d836db135873d8adecb6c48244ad427abb841eb..b98ced6d26bd398448f384b17c1b668739a10335 100644 GIT binary patch literal 105870 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 v{<B`G_jb6#0+d0u{2 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