TPEGFX/2017-Q1: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 14: Line 14:
** {{Bug|1305873}} - [webvr] Update Oculus support to the latest SDK (Currently 1.10)
** {{Bug|1305873}} - [webvr] Update Oculus support to the latest SDK (Currently 1.10)
** {{Bug|1305889}} - [webvr] Enumerate Oculus Touch Controllers through the Gamepad API
** {{Bug|1305889}} - [webvr] Enumerate Oculus Touch Controllers through the Gamepad API
** {{Bug|1305890}} - [webvr] Support Oculus Touch button and analogue inputs in the Gamepad API
** {{Bug|1305890}} - [webvr] Support Oculus Touch button and analogue inputs in the Gamepad API
** {{Bug|1305890}} - [webvr] Support Oculus Touch button and analogue inputs in the Gamepad API
** {{Bug|1305891}} - [webvr] Support Oculus Touch orientation and position tracking in the Gamepad API
** {{Bug|1305891}} - [webvr] Support Oculus Touch orientation and position tracking in the Gamepad API
** {{Bug|1305892}} - [webvr] Support Oculus Touch Haptic Feedback
** {{Bug|1305892}} - [webvr] Support Oculus Touch Haptic Feedback
* {{Bug|1229479}} - [webvr] Implement Mochitests for WebVR
* {{Bug|1323328}} - [webvr] Implement Cross-Browser compatible tool for emulating VR hardware
** Integrate with OpenVR runtime source code to simulate the real device
** Integrate with OpenVR runtime source code to simulate the real device
** Share conformance test suite to ensure compatibility across browsers as much as possible.
** Share conformance test suite to ensure compatibility across browsers as much as possible.
** Gamepad extension tests
** Gamepad extension tests
* {{Bug|1229479}} - [webvr] Implement Mochitests for WebVR (optional)
** {{Bug|1306493}} - [webvr] Implement Mochitest: Multiple calls to VRDisplay.GetFrameData must return the same values within a frame
** {{Bug|1306493}} - [webvr] Implement Mochitest: Multiple calls to VRDisplay.GetFrameData must return the same values within a frame
** {{Bug|1306505}} - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation
** {{Bug|1306505}} - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation

Revision as of 07:21, 6 January 2017

GFX Topics(from high to low priority)

  • gfx Stability
  • Quantum Rendering(FF57 Aurora on 8/7)
  • Canvas 2D perf(google sheet/streaming)
  • DisplayList(layout related work)
  • Paint correctness(buglist)
  • Any layout works, ex: perf/CSS properties

Goal

ChihYi Leu

Daosheng Mu

  • bug 1260558 - [webvr] [meta] Support Oculus Touch Controllers
    • bug 1305873 - [webvr] Update Oculus support to the latest SDK (Currently 1.10)
    • bug 1305889 - [webvr] Enumerate Oculus Touch Controllers through the Gamepad API
    • bug 1305890 - [webvr] Support Oculus Touch button and analogue inputs in the Gamepad API
    • bug 1305891 - [webvr] Support Oculus Touch orientation and position tracking in the Gamepad API
    • bug 1305892 - [webvr] Support Oculus Touch Haptic Feedback
  • bug 1323328 - [webvr] Implement Cross-Browser compatible tool for emulating VR hardware
    • Integrate with OpenVR runtime source code to simulate the real device
    • Share conformance test suite to ensure compatibility across browsers as much as possible.
    • Gamepad extension tests
  • bug 1229479 - [webvr] Implement Mochitests for WebVR (optional)
    • bug 1306493 - [webvr] Implement Mochitest: Multiple calls to VRDisplay.GetFrameData must return the same values within a frame
    • bug 1306505 - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation
    • bug 1306507 - [webvr] Implement Mochitest: VRDisplay.isPresenting must not spill information between JS contexts
    • bug 1311797 - [webvr] Implement Mochitest: `vrdisplayactivate` event should trigger only when no content is presenting
    • bug 1311802 - [webvr] Implement Mochitest: onvrdisplaydeactivate should only trigger for content that is presenting
  • bug 1302341 - SVG link element focus behavior (optional)
  • bug 1302340 - SVG elements and negative tabindex (optional)
  • TODO (senior engs)
    • breakdown every item into one small bug(less than one month)
    • mentor topics
    • Team influence
    • WebGL thought --- Performance regression tool?
    • Figure out WebGL perf plan, like talos or perf improvment

Ethan Lin

  • nsDisplayBorder conversion
    • Enable more border properties (radius, color)
    • Testing
      • Turn on pref for some reftest
    • Debug Tool(TBD)
      • Identify which layer is converted layer (not PaintedLayer)
  • DisplayItem conversion perf
    • Simplify properties conversion
      • gfx:Rect -> WRRect -> WrRect
    • memory usage/memory copy/IPC cost when there are lots of displayitems
    • Convert other items
  • Import ContentClient to WebRenderPaintedLayer
    • Import SingleTiledContentClient first
    • Rotation Buffer - Need to push two sub rect to WR
  • TODO (senior engs)
    • breackdown every item into one small bug(less than one month)
    • Copy WR items into gfx-wr-2017 with effort estimation
    • mentor topics(optional)
    • Team influence

Jerry Shih

  • WR external image
    • update compositable, textureHost and textureSource for new WR thread model(WR render and WR backend are not at IPC receiver thread)
    • [WR]handle shmem in WR(upload to gl texture in WR)
    • support subimage for wr add_image api
    • support GL_IOSurface ( https://github.com/servo/webrender/issues/642 )
  • WR software backend
    • TBD
  • Performance and memory usage comparison
    • compare the current gecko and the WR with all WRImageLayer for gallery-like page.
  • TODO (mid of Jan review first two itmes)
    • breackdown every item into one small bug(less than one month)
    • Copy WR items into gfx-wr-2017 with effort estimation
    • mentor topics
    • Team influence

Kevin Chen

Morris Tseng

  • Canvas support
    • Using CanvasClient for canvas[Done]
    • [WR]Share MacIOSurface(lower)
      • WebRender need handle TextureRect in shader. (texture coordinate, shader code...etc)
    • Share ANGLE surface
      • Need to investigate how to translate DXGI to angle gl texture.
    • Handle y-flip
    • Handle surface format (e.g RGBA and RGBX)
  • Convert nsDisplayBullet
    • Create BulletLayer
    • Send Bullet attributes to webrender
    • Quote from https://public.etherpad-mozilla.org/p/wr-plan#lineNumber=185
      • Supports disc, circle, square, disclosure triangle and image.
      • disc, circle and square are drawn as glyphs -> text item
      • disclosure triangle is a triange path that is filled -> path item
      • image -> image item
  • TODO (senior engs)
    • List risk/black box for Canvas support
    • breackdown every item into one small bug(less than one month)
    • Copy WR items into gfx-wr-2017 with effort estimation
    • Your output/questions before Feb work week
    • mentor topics
    • Team influence

Peter Chang

  • OMTA
    • dispatch animation/animationdata (bug 1325022)
    • Works in compositor side
      • save animation data based on related div(or containerlayer)
      • sampling animation during composition (bug 1328229)
      • replay framedata to WR with new animation (bug 1328231)
      • Add support to Webrender(opacity and scaling)
    • Support OMTA testing flow
   The followings related to testing of OMTA
   nsDOMWindowUtils::GetOMTAStyle()
   SetTestSampleTime()
   LeaveTestMode()

Vincent Liu

open qusetion

  • TODO (senior engs)
    • breackdown every item into one small bug(less than one month)
    • Copy WR items into gfx-wr-2017 with effort estimation
    • mentor topics
    • Team influence

Ethan

 disable fallback for reftest
 share the same mapping between c++/rust by code generator
 evaluate displayitem conversion performance/memory usage

Morris

 how to support image layer more efficiently(similar to jerry's question?)

Jerry

 image resource lifetime problem

peter

omta always repaint all pixel in WR