Bug 129128

Summary: WinCairo should use coordinated graphics and tiled backing store
Product: WebKit Reporter: Alex Christensen <alex.christensen>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: benjamin, bfulgham, cmarcelo, commit-queue, ossy, pnormand
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows 8   
Attachments:
Description Flags
Patch none

Description Alex Christensen 2014-02-20 16:16:55 PST
Now that everybody is using accelerated compositing, WinCairo should also be using coordinated graphics and tiled backing store.  GStreamer video doesn't show up on the screen without them, and I imagine there are other features that use them, too.

On a related note, I got WinCairo compiling and running with FeatureDefines.props. instead of FeatureDefinesCairo.props.  The differences between these two files could cause problems, and using the same feature defines would unite the ports more.  Do you think this would be worth upstreaming?  Specifically ENABLE_3D_RENDERING, ENABLE_CSS_FILTERS, ENABLE_CSS_SHAPE_INSIDE, ENABLE_IFRAME_SEAMLESS, ENABLE_MEDIA_STATISTICS, ENABLE_REQUEST_ANIMATION_FRAME, ENABLE_SUBPIXEL_LAYOUT, ENABLE_TEMPLATE_ELEMENT, and ENABLE_VIEW_MODE_CSS_MEDIA are different.
Comment 1 Alex Christensen 2014-02-20 20:08:45 PST
Created attachment 224824 [details]
Patch
Comment 2 Csaba Osztrogonác 2014-02-21 01:00:05 PST
Comment on attachment 224824 [details]
Patch

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

> Source/WTF/wtf/Platform.h:864
> +#define WTF_USE_COORDINATED_GRAPHICS 1

But coordinated graphics is WebKit2 only feature, why do you need it for a WebKit1 only port?
Comment 3 Alex Christensen 2014-02-21 15:47:09 PST
> But coordinated graphics is WebKit2 only feature, why do you need it for a WebKit1 only port?
I don't know, but GStreamer doesn't draw to the screen without it and tiled backing store.  Maybe there's an unintentional dependency somewhere, or maybe I should put this in the #if ENABLE(VIDEO) && PLATFORM(WIN_CAIRO) section instead.

This hasn't fixed WebGL on WinCairo, but should I need coordinated graphics for WebGL, now that accelerated compositing is mandatory?  WebGL on Windows hasn't worked since that big change.
Comment 4 Philippe Normand 2014-02-22 09:43:45 PST
The current GStreamer AC backend doesn't support COORDINATED_GRAPHICS (afaik), and I second Ossy's question. I'm a bit confused here.
Comment 5 Alex Christensen 2014-03-03 08:59:06 PST
This was a fluke.  Video works fine without this.  I'm not sure why it seemed to help.  The only reason I can think of was that I was testing at my apartment with a very flaky internet connection.