Bug 53251 - CACFLayerTreeHost should use WKCACFView for rendering
Summary: CACFLayerTreeHost should use WKCACFView for rendering
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar, PlatformOnly
Depends on:
Blocks: 31855 39496
  Show dependency treegraph
 
Reported: 2011-01-27 11:07 PST by Adam Roben (:aroben)
Modified: 2011-01-28 08:20 PST (History)
3 users (show)

See Also:


Attachments
Split CACFLayerTreeHost into base and derived classes (18.33 KB, patch)
2011-01-27 11:40 PST, Adam Roben (:aroben)
simon.fraser: review+
Details | Formatted Diff | Diff
Move LegacyCACFLayerTreeHost into its own files (33.26 KB, patch)
2011-01-27 13:19 PST, Adam Roben (:aroben)
simon.fraser: review+
Details | Formatted Diff | Diff
Add WKCACFViewLayerTreeHost (18.21 KB, patch)
2011-01-27 14:44 PST, Adam Roben (:aroben)
simon.fraser: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Roben (:aroben) 2011-01-27 11:07:23 PST
CACFLayerTreeHost should use the new WKCACFView API for rendering. This will reduce memory usage (bug 31855) and move rendering onto a non-main thread (bug 39496).
Comment 1 Anders Carlsson 2011-01-27 11:07:58 PST
<rdar://problem/8925496>
Comment 2 Adam Roben (:aroben) 2011-01-27 11:40:05 PST
Created attachment 80351 [details]
Split CACFLayerTreeHost into base and derived classes
Comment 3 Adam Roben (:aroben) 2011-01-27 13:19:49 PST
Created attachment 80359 [details]
Move LegacyCACFLayerTreeHost into its own files
Comment 4 Simon Fraser (smfr) 2011-01-27 13:29:53 PST
Comment on attachment 80351 [details]
Split CACFLayerTreeHost into base and derived classes

View in context: https://bugs.webkit.org/attachment.cgi?id=80351&action=review

> Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.cpp:213
> +    bool m_mightBeAbleToCreateDeviceLater;
> +    COMPtr<IDirect3DDevice9> m_d3dDevice;
> +    WKCACFContext* m_context;
> +    Timer<LegacyCACFLayerTreeHost> m_renderTimer;
> +    bool m_mustResetLostDeviceBeforeRendering;

Can you sort these to optimize padding?

> Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.h:98
>      CACFLayerTreeHostClient* m_client;
> -    bool m_mightBeAbleToCreateDeviceLater;
> -    COMPtr<IDirect3DDevice9> m_d3dDevice;
>      RefPtr<PlatformCALayer> m_rootLayer;
>      RefPtr<PlatformCALayer> m_rootChildLayer;
> -    WKCACFContext* m_context;
>      HWND m_window;
> -    Timer<CACFLayerTreeHost> m_renderTimer;
> -    bool m_mustResetLostDeviceBeforeRendering;
>      bool m_shouldFlushPendingGraphicsLayerChanges;
>      bool m_isFlushingLayerChanges;
>      HashSet<RefPtr<PlatformCALayer> > m_pendingAnimatedLayers;

Ditto.
Comment 5 Simon Fraser (smfr) 2011-01-27 13:30:58 PST
Comment on attachment 80359 [details]
Move LegacyCACFLayerTreeHost into its own files

View in context: https://bugs.webkit.org/attachment.cgi?id=80359&action=review

> Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:70
> +    bool m_mightBeAbleToCreateDeviceLater;
> +    COMPtr<IDirect3DDevice9> m_d3dDevice;
> +    WKCACFContext* m_context;
> +    Timer<LegacyCACFLayerTreeHost> m_renderTimer;
> +    bool m_mustResetLostDeviceBeforeRendering;

Put bools next to eachother.
Comment 6 Adam Roben (:aroben) 2011-01-27 14:44:12 PST
Created attachment 80366 [details]
Add WKCACFViewLayerTreeHost
Comment 7 Adam Roben (:aroben) 2011-01-27 16:13:10 PST
Fixed in r76853, r76856, and r76858.
Comment 8 Jessie Berlin 2011-01-28 08:20:03 PST
These changes broke ~36 animations, compositing, and transitions tests on the Windows 7 Release bots:

https://bugs.webkit.org/show_bug.cgi?id=53302