<div dir="ltr">Hi Michael,<br><br>Was good to see you too, as always! I'll reply in-line for convenience;<br><div><div class="gmail_extra"><br><div class="gmail_quote">On 6 February 2015 at 13:34, Michael Meeks <span dir="ltr"><<a href="mailto:michael.meeks@collabora.com" target="_blank">michael.meeks@collabora.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> Of course, it's fantastic to have been able to re-use the mozilla<br>
fennec Java tiled-rendering code; but as we want to make this work<br>
cross-platform as well (as you do in Mozilla) - I suspect that we really<br>
want to be switching from Java to use your C++ compositing code. My hope<br>
is that lets us target Android, iOS, UbuntuTouch, etc. - but also Mac,<br>
Windows etc. =)<br></blockquote><div><br></div><div>I expect our layers code could well help with those targets - immediately, I think it'd be easiest to deploy on desktops though (Mac, Linux, Windows). We have our full-native compositing/panning/zooming stack running on FirefoxOS (so, kind of Android), but not on Fennec (though it's not far off, and could certainly be made to work with a less complex host app. It currently uses some Java code to handle asynchronous panning/zooming on the root layer). This is all given you've already deployed on Android, I'd have considered that the hardest target (bar maybe iOS because we don't regularly build there, though it has been done in the past).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
As I understand it the thing we should be doing is re-using this<br>
goodness:<br>
<br>
<a href="https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing" target="_blank">https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing</a><br>
<br>
So - some questions:<br>
<br>
a) did I find the right URL =)<br></blockquote><div><br></div><div>Yup :) This may also be of interest: <a href="https://wiki.mozilla.org/Embedding/IPCLiteAPI">https://wiki.mozilla.org/Embedding/IPCLiteAPI</a><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
b) how does that map to source code directories inside<br>
mozilla-central to blatantly steal / re-factor =)<br></blockquote><div><br></div><div>Basically, everything you want is in gfx/layers. There will be some dependencies outside of that directory, as a quick guess: most of the other directories in gfx, depending on platform, layout/base/Unit*, mfbt and maybe nsprpub? This is total guess-work, I've never tried to make any of this work outside of Gecko, but the aforementioned IPCLite may be illuminating.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
c) you mentioned other people who would be interested in that ?<br>
it'd be great to contact / CC them on this =)<br></blockquote><div><br></div><div>I would have thought that a major user of our layers/compositor infrastructure would be of interest to the gfx/rendering team (even if just out of pure curiosity), so with that thought I've cc'd Milan Sreckovic, who manages the gfx team and Jet Villegas, who manages the layout team - I hope I'm not taking liberties here :) They may be more interested in knowing how you've been using the code, and maybe they could point things out that could help.<br></div><br></div><br></div><div class="gmail_extra">Cheers!<br><br></div><div class="gmail_extra">--Chris<br></div></div></div>