Platform/GFX/2011-September-19

From MozillaWiki
< Platform‎ | GFX
Jump to: navigation, search

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.
  • 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.