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.
Created attachment 224824 [details] Patch
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?
> 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.
The current GStreamer AC backend doesn't support COORDINATED_GRAPHICS (afaik), and I second Ossy's question. I'm a bit confused here.
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.