Platform/GFX/2011-September-19
From MozillaWiki
- Every Monday at 2:30 PM Pacific/5:30 PM Eastern/21:30 UTC/Tuesday at 9:30 AM NZDT
- +1 650 903 0800 x92 Conf# 99366
- +1 800 707 2533 (pin 369) Conf# 99366 (toll free, Skype)
- Video (Vidyo) link: https://v.mozilla.com/flex.html?roomdirect.html&key=DeP4hnHU6nlN
- Vidyo room 9366 (if you have LDAP and can log in at https://v.mozilla.com)
- Minutes will be recorded at http://etherpad.mozilla.com:9000/GFX-meeting then pasted on this wiki page.
Agenda:
- WebCL (OMGWTFBBQ!) (bjacob)
- Andreas wants it in mozilla-central ASAP. His claims:
- OpenCL is more important on Mobile. For example, voice recognition. Don't want to make it server-based.
- Other video codecs, eg h.264.
- Is OpenCL even available on mobile hardware?
- Some hardware is coming down the path, e.g. from NVIDIA. But Windows Phone 7 and Android are both totally uninterested in shipping OpenCL.
- No OpenCL stack on Windows 8, for example, but maybe an ANGLE-like project can work.
- Andreas wants the two implementations to create patches and submit them for review.
- Joe thinks:
- Pretending that this is going to be a small investment on our part is not realistic.
- Review bandwidth is limited, for example.
- Andreas wants it in mozilla-central ASAP. His claims:
- Thebes/Azure Strategy (bas)
- Only have if (drawTarget) branches in gfxContext, not elsewhere
- gfxContext can have either a Cairo context or a gfx::DrawTarget
- Expose GetCairo() on the context - return a similar Cairo surface with the correct transform, etc. Used for measuring.
- Basic idea: Thebes/gfx interop.
- Can set Cairo surfaces as sources on gfxContexts targeted at DrawTargets - will simply use the existing interop.
- This means we're implicitly continuing to use Thebes for anywhere that directly instantiates surfaces.
- Can't switch off via pref, but can have small patches easily reverted via backout.
- As perf hotspots are found, we can migrate them to use the new gfx interfaces (Azure) directly.
- Most contexts are currently created via ThebesLayers - we can pref that very carefully and then have a reasonable backout strategy. For example, can be done only on D3D10, which means that we don't need to rely upon the Cairo gfx backend.
- For anything more invasive, we'll probably need to have the Graphics branch spun up with builds and updates.
- Direct2D 1.1 (bas)
- Lots of new features, including most of the things we wanted.
- Should make things a lot faster too.
- Probably need a new D2D backend - adding support to the existing D2D backend is probably too difficult.
- There's no reason why this should be at the top of anybody's stack, though we probably want it sometime before Windows 8's release.
- Likely won't take a lot of coding time, but probably will take a lot of testing/integration time.
- Resolution: Wait until the higher-priority things are done, then reevaluate.
- Windows 8 Integration (bas)
- DirectX 11.1 includes DXGI 1.2 which permits preemption at various levels (eg triangle, etc); hardware might not support it though.
- bug 686835 - Windows 8 support metabug.
- Might, at some point, want a Metro/WinRT product.
- Any people with ideas on what we should do should mention them, probably on that bug.