TPEGFX/2017-Q1: Difference between revisions

 
(108 intermediate revisions by 8 users not shown)
Line 1: Line 1:
==GFX Topics(from high to low priority)==
==GFX Topics(from high to low priority)==
* [https://howareyou322.github.io/gfx-stability gfx Stability]  
* [https://howareyou322.github.io/gfx-stability gfx Stability]  
* [https://public.etherpad-mozilla.org/p/gfx-wr-2017 Quantum Rendering]
* [https://public.etherpad-mozilla.org/p/gfx-wr-2017 Quantum Rendering](FF57 Aurora on 8/7)
* Canvas 2D perf(google sheet/streaming)
* Canvas 2D perf(google sheet/streaming)
* DisplayList(layout related work)
* DisplayList(layout related work)
Line 9: Line 9:
==Goal==
==Goal==
===ChihYi Leu===
===ChihYi Leu===
* WebGL Stability
** {{bug|1329051}} - WebGL shader crashes with "shaderSource: Source has more than 262143 characters. (Driver workaround)" while it is working on Chrome and Edge
*** land
** {{bug|1336710}} - Crash in rx::Blit9::initialize
***land
* WebGL conformance test
** {{bug|1324765}} - Crash in std::vector<T>::_Buy
*** land
** {{bug|1315037}} - Intermittent dom/canvas/test/webgl-conf/generated/test_2_conformance__textures__video__tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html | Test timed out.
*** Cause found, add diagnosis patch for future idenfication 
* Assist Daosheng for his VR Gamepad Mochitest work if he has no bandwidth to do it.
** {{Bug|1306505}} - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation
*** land
* TODO
** (done) update bugzilla more frequently
** gfx triage for WebGL(stability or regression)
** (done) Sharing testing environment/Fire request for video card purchase
** (done) Perform ANGLE update(before Mid of March) or Conformance suite upgrade
*** {{Bug|1347866}} - Update ANGLE to chromium/2950
**** land (4/12)
** WebGL spec/flow(or depend on Topics peter provided)
** (done) prepare for WebGL work week during 4/10
*** WebGL demo profiling
*** Survey async/multithread D3D shader compiling (See {{Bug|1347866}})


===Daosheng Mu===
===Daosheng Mu===
* {{Bug|1260558}} - [webvr] [meta] Support Oculus Touch Controllers
** [Done] {{Bug|1305873}} - [webvr] Update Oculus support to the latest SDK (Currently 1.10)
** [Done] {{Bug|1305889}} - [webvr] Enumerate Oculus Touch Controllers through the Gamepad API
** [Done] {{Bug|1305890}} - [webvr] Support Oculus Touch button and analogue inputs in the Gamepad API
** [Done] {{Bug|1305891}} - [webvr] Support Oculus Touch orientation and position tracking in the Gamepad API
** [Done] {{Bug|1305892}} - [webvr] Support Oculus Touch Haptic Feedback
* WebVR conformance test suite
** [Done] {{Bug|1323328}} - [webvr] Implement Cross-Browser compatible tool for emulating VR hardware
*** [Del] Integrate with OpenVR runtime source code to emulate the real device
**** We choose to make a puppet device for our first step.
*** [Done] Share conformance test suite to ensure compatibility across browsers as much as possible.
*** [Done] Gamepad extension tests
** {{Bug|1229479}} - [webvr] Implement Mochitests for WebVR (optional)
*** [Done] {{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
**** Forward to lenzak
*** {{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
* WebGL module work
** [Done] Figure out WebGL perf plan, like talos or perf improvement
** [Done] Study spec, https://github.com/KhronosGroup/WebGL/issues
** [Done] Review
* [Done] {{Bug|1302341}} - SVG link element focus behavior (optional)
* [Done] {{Bug|1302340}} - SVG elements and negative tabindex (optional)
* TODO
** Question list for WebGL perf
** investigate {{Bug|1207170}} - webgl perf
** highlight to peter about bandwidth concern for WebVR and WebGL


=== Ethan Lin ===
=== Ethan Lin ===
* nsDisplayBorder conversion
* Display item conversion
** Enable more border properties (radius, color)
** [Done] nsDisplayBorder conversion
** Testing
*** Turn on border preference for some reftests ({{Bug|1329609}}, {{Bug|1331538}})
*** Turn on pref for some reftest
*** nsDisplayBorder - Enable more border properties ({{Bug|1337291}}, {{Bug|1337681}}, {{Bug|1347445}}, {{Bug|1346702}})
** Debug Tool
** [Done] nsDisplayOutline conversion ({{Bug|1340082}})
*** Identify which layer is converted layer (not PaintedLayer)
** [Done] nsDisplayImage conversion ({{Bug|1345053}})
** [Done] nsDisplayButtonForeground conversion ({{Bug|1344622}})
** [Done] nsDisplayCanvasBackgroundColor conversion ({{Bug|1343450}})
** [Done] Fix rendering problem after display item conversion ({{Bug|1330945}}, {{Bug|1332688}}, {{Bug|1354464}}, )
* [Done] Import ContentClient to WebRenderPaintedLayer ({{Bug|1322504}})
* QR mask layer enhancement ({{Bug|1341565}}, {{Bug|1354464}}, {{Bug|1355012}})
* <del>DisplayItem conversion perf
** Simplify properties conversion
** Simplify properties conversion
*** gfx:Rect -> WRRect -> WrRect
*** gfx:Rect -> WRRect -> WrRect
** Convert other items
** memory usage/memory copy/IPC cost when there are lots of displayitems</del>
* Import ContentClient to WebRenderPaintedLayer
* TODO (senior engs)
** Import SingleTiledContentClient first
** Come out plans for DisplayItem topic ({{Bug|1342343}})
** Rotation Buffer - Need to push two sub rect to WR
*** Consider wr_push/RenderLayer Overhead(Go to accumulated)/how to group different displyitem
** Copy WR items into gfx-wr-2017 with effort estimation
** mentor topics(optional)
** Team influence


=== Jerry Shih ===
=== Jerry Shih ===
* WR external image
* [Done] Webrender updating support
** {{Bug|1329574}} - enable depth-buffer when we use webrender
* [Done] Renderer thread support
** {{Bug|1337661}} - handle renderer thread reftest failed
** {{Bug|1338274}} - clean up non-renderer thread code
** {{Bug|1337803}} - turn on renderer thread by default
* WR external image integration
** update compositable, textureHost and textureSource for new WR thread model(WR render and WR backend are not at IPC receiver thread)
** update compositable, textureHost and textureSource for new WR thread model(WR render and WR backend are not at IPC receiver thread)
** handle shmem in WR(upload to gl texture in WR)
*** [Done] {{Bug|1338285}} - WR external image callback interface
** support subimage for wr add_image api
*** [Done] {{Bug|1340997}} - implement external image handler in RendererOGL
** support GL_IOSurface ( https://github.com/servo/webrender/issues/642 )
*** Try to use renderOGL with WRCompoisitables in renderer thread - 2 week
* WR software backend
**** {{Bug|1341235}} - External image integration
** TBD
**** <del>{{Bug|1336956}}{{Bug|1336963}} - split textureHost into WRTextureHost and WRCompositableTextureHost - 2 days</del>
**** <del>update textureHost::Create() to create WRxxxTextureHost - 2 days</del>
**** <del>create WRCompositable - 1 day</del>
**** <del> update WRImageHost base on {{Bug|1336021}} for renderer thread- 2 days</del>
** Video playback in WR
*** [Done] support GL_IOSurface in WR - 3 days
**** https://github.com/servo/webrender/pull/997
*** [Done] {{Bug|1347062}} - Use texture handle directly for video with webrender - 3 days
*** {{Bug|1351187}} - Try to use 1 image key for all yuv planes - 3 days
*** {{Bug|1351189}} - Support DXGIYCbCrTextureHostD3D11 with Webrender - 5 days
*** <del>Schedule a new composition to renderer when the CompositorBridgeParent receives a new video frame - 2 days</del>
*** [TBD] Review the video playback path to show the video frame in WR - 3 days
**** Software and hardware coding path
*** [TBD] Handle the problem of different decoding size of video.
**** https://github.com/servo/webrender/issues/943
**** Sotaro is working for this with another approach({{Bug|1345054}}).
** [Done] [WR]handle shmem in WR(upload to gl texture in WR)
*** {{Bug|1330530}} - support external shmem in Webrender - 1 week without review
** <del>support subimage for wr add_image api
*** This api is not used due to the SkPicture.</del>
* <del>WR software backend
** Talked with JeffM. We will just use the original gecko path. No action for this item.</del>
* 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===
===Kevin Chen===
 
* gfx Stability
** nvwgf2umx.dll crashes
*** {{Bug|1292273}} - Crash in nvwgf2um.dll | BaseThreadInitThunk
*** {{Bug|1325933}} - Crash in nvwgf2um.dll | TCLSWrappers<T>::CLSDestroy
*** {{Bug|1328082}} - Crash in nvwgf2umx.dll | NDXGI::CDevice::DestroySynchronizationObjectCB
** device reset crashes
*** {{Bug|1160157}} - non device reset startup forced crash in mozilla::layers::SyncObjectD3D11::FinalizeFrame()
**** (Done) {{Bug|1352376}} - Failed to create ContentDevice in content process after device reset
*** (Done) {{Bug|1338639}} - Crash in mozilla::layers::SyncObjectD3D11::Init
** Add tests
*** (Done) {{Bug|1300699}} - Add a gtest to prevent using basicCompositor with d3d11/d3d9TextureHost
* DOM-Labeling
** (Done) Analyze dispatch tasks with task tracker.
** (Done) {{Bug|1343758}} - gfx-labeling Label runnables in gfx vr.
** (Done) {{Bug|1343479}} - gfx-labeling Label runnables in apz.
** (Done) {{Bug|1343472}} - gfx-labeling Label runnables in gpu process.
* gfx triage practice
** https://bugzilla.mozilla.org/page.cgi?id=user_activity.html&action=run&who=kechen%40mozilla.com&from=2017-01-01&to=2017-03-31&group=when
** (Done) {{Bug|1329090}} - Use invalid size in GrResourceProvider::createBuffer in firefox 51
** (Done) {{Bug|1328872}} - Crash in CDIProperties<T>::SetValue
* Houdini Painting API
** {{Bug|1318573}} - Refactor Canvas2D API to support a subset for Houdini Paint API
** {{Bug|1324740}} - Implement PaintRenderingContext2D for Houdini API
** (Done) {{Bug|1331857}} - Create a base class for CanvasRenderingContext2D
** integrate with paint worklet and add test case for it
* Campus presentation
** 2/22 @ TsingHua University.
* <del> WebRenderer support
* TODO
** breackdown every item into one small bug(between two week or less than one month)
** frequently bugzilla updates


=== Morris Tseng ===
=== Morris Tseng ===
* Using CanvasClient for canvas
* Canvas support
** Share MacIOSurface
** {{Bug|1322500}} - Using CanvasClient for canvas (done)
*** WebRender need handle TextureRect in shader. (texture coordinate, shader code...etc)
** Share ANGLE surface
** Share ANGLE surface
*** Need to investigate how to translate DXGI to angle gl texture.
*** {{Bug|1328493 }} - Injecting DXGI resources to ANGLE as gl texture. (done)
** Handle y-flip
*** {{bug|1340871}} - Content need to know webrender is using ANGLE or not. (done)
*** {{bug|1323316}} - Use ANGLE for WebRender (done)


* Convert nsDisplayBullet
* Display item conversion
** Create BulletLayer
** {{Bug|1339683}} - Convert nsDisplayBullet to DisplayItemLayer. (done)
** Send Bullet attributes to webrender
** {{Bug|1328494}} - Support nsDisplayBullet. (done)
** {{bug|1341156}} - Support image border in Quantum Render. (done)
** {{bug|1347469}} - Supports gradient border in quantum render (done)
** {{bug|929484}} - Make HTML table frames (including row/cell/etc. frames) create their own display list items
 
* WebRender/servo improve
** Add two new rectangle structures in webrender. (done)
*** https://github.com/servo/webrender/pull/903
** Supports gradient border in webrender. (done)
*** https://github.com/servo/webrender/pull/953
** Supports gradient border in servo (done)
*** https://github.com/servo/servo/pull/15905
 
* Misc
** {{bug|1332798}} - Crash in <name omitted> | mozilla::widget::RectTextureImage::BeginUpdate (done)


=== Peter Chang ===
=== Peter Chang ===
* OMTA
* OMTA
** convert nsDisplayTransform and nsDisplayOpacity(TBD)
** [Done]dispatch animation/animationdata (bug 1325022) ~ two weeks
** dispatch animation/animationdata to compositor for sampling
** Works in compositor side
** Works in compositor side
*** save animation data based on related div(or containerlayer)  
*** [Done]Remove the layer dependency in SampleAnimation (bug 1328229/1332211) ~ two weeks
*** sampling animation during composition
*** Add sampleanimation(bug 1345017) ~ two weeks
*** replay framedata to WR with new animation
*** Calling new WR API with new animated value ~ one weeks
*** Add support to Webrender(opacity and scaling)
*** <del>replay WRcmds in WRBridgeParent if animation exists (bug 1328231) ~ three weeks
**** recording WRCmds
**** update animation value from the related div
**** replay saved WRcmds</del>
*** [WR][Done]Add support to Webrender(opacity and scaling) ~ Done by Glenn
** Support OMTA testing flow
** Support OMTA testing flow
    The followings related to testing of OMTA
*** remove layerHandle for omta testing api(bug 1337889)
    nsDOMWindowUtils::GetOMTAStyle()
**** Save CompositorAnimationsId/Animation Data/animation value
    SetTestSampleTime()
**** Query transform/opacity based on CompositorAnimationsId
    LeaveTestMode()
*** move OMTA testing methods into share sub-protocol(bug 1316906)


=== Vincent Liu ===
=== Vincent Liu ===
* gfx Stability
** Monitor crash bugs in the list - every day.
** Study listed cash bug in two days. (reproduce, find a possible way to fix).
** {{Bug|1322741}} - [Done]Crash in mozilla::layers::SyncObjectD3D11::Init
** {{Bug|1329849}} - [Done]crash at null [@DataAtOffset] in gfx/2d/DataSurfaceHelpers.cpp:91
** {{Bug|1331925}} - [Done]canvas.toBlob callback not invoked when height is 0
** {{Bug|1336351}} - [Done]canvas.toBlob callback should be async when height or width is 0
** {{Bug|1337009}} - [Done]Re-enable CSS shapes reftests and CSS text reftests on Windows debug builds
** <del>{{Bug|1339751}} - [Working]Add gfxCriticalNote to dump error message when calling into ipc FatalError.</del>
** <del>Add information to indicate OOM</del>
** {{Bug|1332980}} - [Working]Assertion failure: aKernelUnitLengthX > 0 (aKernelUnitLengthX can not be a negative or zero value)
** {{Bug|1343851}} - [Done]Crash in mozilla::gl::SurfaceFactory::NewTexClient
** {{Bug|1314543}} - [Done]Crash in mozilla::gfx::FeatureChange::AssertSanity | "unexpected type tag"
** {{Bug|1347617}} - [Done]Memory disclosure in ConvolvePixel
** Triage with other people to find out better way to fix.
*** {{Bug|1325518}},{{Bug|1329432}},{{Bug|1328748}},{{Bug|1328905}},{{Bug|1329083}},{{Bug|1329176}},{{Bug|1329415}},
*** {{Bug|1325259}} - Assertion failure: [GFX1]: RGBX corner pixel at (423,51) in 846x103 surface is not opaque
*** {{Bug|1300355}} - intermittent blank reftest test or reference screenshots on win7 PGO
*** {{Bug|1339080}} - Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::FatalError | mozilla::dom::ContentChild::FatalErrorIfNotUsingGPUProcess | libxul.so@0xd8d46b | mozilla::layers::PCompositorBridgeChild::SendPTextureConstructor
*** {{Bug|1340876}} - WebVR demos on Android crash, e.g. in libstagefright_soft_vpxdec.so
*** {{Bug|1331371}} - Intermittent file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/w3c-css/submitted/variables/variable-supports-13.html | application terminated with exit code 1 after Assertion failure: [GFX1]: Failed to create DrawTarget
*** {{Bug|1347098}} - Crash in mozilla::gfx::DrawTargetD2D1::factory
* WebGL Conformance Test
** {{Bug|1323122}} - [Done]Upgrade 2.0.0 Webgl conformance tests to top-of-tree - done
* [Done]Hold a triage meeting to go through triage.
* TODO (senior engs)
** breackdown every item into one small bug(less than one month)
** mentor topics
** Team influence
** Solid gfx triage/crash improvement plan
*** [https://wiki.mozilla.org/TPEGFX/Notes#Triage Triage flow]
*** Hold a triage meeting to go through triage.
===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

Latest revision as of 08:18, 13 April 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

  • WebGL Stability
    • bug 1329051 - WebGL shader crashes with "shaderSource: Source has more than 262143 characters. (Driver workaround)" while it is working on Chrome and Edge
      • land
    • bug 1336710 - Crash in rx::Blit9::initialize
      • land
  • WebGL conformance test
    • bug 1324765 - Crash in std::vector<T>::_Buy
      • land
    • bug 1315037 - Intermittent dom/canvas/test/webgl-conf/generated/test_2_conformance__textures__video__tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html | Test timed out.
      • Cause found, add diagnosis patch for future idenfication
  • Assist Daosheng for his VR Gamepad Mochitest work if he has no bandwidth to do it.
    • bug 1306505 - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation
      • land
  • TODO
    • (done) update bugzilla more frequently
    • gfx triage for WebGL(stability or regression)
    • (done) Sharing testing environment/Fire request for video card purchase
    • (done) Perform ANGLE update(before Mid of March) or Conformance suite upgrade
      • bug 1347866 - Update ANGLE to chromium/2950
        • land (4/12)
    • WebGL spec/flow(or depend on Topics peter provided)
    • (done) prepare for WebGL work week during 4/10
      • WebGL demo profiling
      • Survey async/multithread D3D shader compiling (See bug 1347866)

Daosheng Mu

  • bug 1260558 - [webvr] [meta] Support Oculus Touch Controllers
    • [Done] bug 1305873 - [webvr] Update Oculus support to the latest SDK (Currently 1.10)
    • [Done] bug 1305889 - [webvr] Enumerate Oculus Touch Controllers through the Gamepad API
    • [Done] bug 1305890 - [webvr] Support Oculus Touch button and analogue inputs in the Gamepad API
    • [Done] bug 1305891 - [webvr] Support Oculus Touch orientation and position tracking in the Gamepad API
    • [Done] bug 1305892 - [webvr] Support Oculus Touch Haptic Feedback
  • WebVR conformance test suite
    • [Done] bug 1323328 - [webvr] Implement Cross-Browser compatible tool for emulating VR hardware
      • [Del] Integrate with OpenVR runtime source code to emulate the real device
        • We choose to make a puppet device for our first step.
      • [Done] Share conformance test suite to ensure compatibility across browsers as much as possible.
      • [Done] Gamepad extension tests
    • bug 1229479 - [webvr] Implement Mochitests for WebVR (optional)
      • [Done] 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
        • Forward to lenzak
      • 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
  • WebGL module work
  • [Done] bug 1302341 - SVG link element focus behavior (optional)
  • [Done] bug 1302340 - SVG elements and negative tabindex (optional)
  • TODO
    • Question list for WebGL perf
    • investigate bug 1207170 - webgl perf
    • highlight to peter about bandwidth concern for WebVR and WebGL

Ethan Lin

  • Display item conversion
  • [Done] Import ContentClient to WebRenderPaintedLayer (bug 1322504)
  • QR mask layer enhancement (bug 1341565, bug 1354464, bug 1355012)
  • DisplayItem conversion perf
    • Simplify properties conversion
      • gfx:Rect -> WRRect -> WrRect
    • memory usage/memory copy/IPC cost when there are lots of displayitems
  • TODO (senior engs)
    • Come out plans for DisplayItem topic (bug 1342343)
      • Consider wr_push/RenderLayer Overhead(Go to accumulated)/how to group different displyitem
    • Copy WR items into gfx-wr-2017 with effort estimation
    • mentor topics(optional)
    • Team influence

Jerry Shih

  • [Done] Webrender updating support
    • bug 1329574 - enable depth-buffer when we use webrender
  • [Done] Renderer thread support
  • WR external image integration
    • update compositable, textureHost and textureSource for new WR thread model(WR render and WR backend are not at IPC receiver thread)
      • [Done] bug 1338285 - WR external image callback interface
      • [Done] bug 1340997 - implement external image handler in RendererOGL
      • Try to use renderOGL with WRCompoisitables in renderer thread - 2 week
        • bug 1341235 - External image integration
        • bug 1336956bug 1336963 - split textureHost into WRTextureHost and WRCompositableTextureHost - 2 days
        • update textureHost::Create() to create WRxxxTextureHost - 2 days
        • create WRCompositable - 1 day
        • update WRImageHost base on bug 1336021 for renderer thread- 2 days
    • Video playback in WR
      • [Done] support GL_IOSurface in WR - 3 days
      • [Done] bug 1347062 - Use texture handle directly for video with webrender - 3 days
      • bug 1351187 - Try to use 1 image key for all yuv planes - 3 days
      • bug 1351189 - Support DXGIYCbCrTextureHostD3D11 with Webrender - 5 days
      • Schedule a new composition to renderer when the CompositorBridgeParent receives a new video frame - 2 days
      • [TBD] Review the video playback path to show the video frame in WR - 3 days
        • Software and hardware coding path
      • [TBD] Handle the problem of different decoding size of video.
    • [Done] [WR]handle shmem in WR(upload to gl texture in WR)
      • bug 1330530 - support external shmem in Webrender - 1 week without review
    • support subimage for wr add_image api
      • This api is not used due to the SkPicture.
  • WR software backend
    • Talked with JeffM. We will just use the original gecko path. No action for this item.
  • 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

  • gfx Stability
    • nvwgf2umx.dll crashes
      • bug 1292273 - Crash in nvwgf2um.dll | BaseThreadInitThunk
      • bug 1325933 - Crash in nvwgf2um.dll | TCLSWrappers<T>::CLSDestroy
      • bug 1328082 - Crash in nvwgf2umx.dll | NDXGI::CDevice::DestroySynchronizationObjectCB
    • device reset crashes
      • bug 1160157 - non device reset startup forced crash in mozilla::layers::SyncObjectD3D11::FinalizeFrame()
        • (Done) bug 1352376 - Failed to create ContentDevice in content process after device reset
      • (Done) bug 1338639 - Crash in mozilla::layers::SyncObjectD3D11::Init
    • Add tests
      • (Done) bug 1300699 - Add a gtest to prevent using basicCompositor with d3d11/d3d9TextureHost
  • DOM-Labeling
    • (Done) Analyze dispatch tasks with task tracker.
    • (Done) bug 1343758 - gfx-labeling Label runnables in gfx vr.
    • (Done) bug 1343479 - gfx-labeling Label runnables in apz.
    • (Done) bug 1343472 - gfx-labeling Label runnables in gpu process.
  • gfx triage practice
  • Houdini Painting API
    • bug 1318573 - Refactor Canvas2D API to support a subset for Houdini Paint API
    • bug 1324740 - Implement PaintRenderingContext2D for Houdini API
    • (Done) bug 1331857 - Create a base class for CanvasRenderingContext2D
    • integrate with paint worklet and add test case for it
  • Campus presentation
    • 2/22 @ TsingHua University.
  • WebRenderer support
  • TODO
    • breackdown every item into one small bug(between two week or less than one month)
    • frequently bugzilla updates

Morris Tseng

  • Canvas support
    • bug 1322500 - Using CanvasClient for canvas (done)
    • Share ANGLE surface
      • bug 1328493 - Injecting DXGI resources to ANGLE as gl texture. (done)
      • bug 1340871 - Content need to know webrender is using ANGLE or not. (done)
      • bug 1323316 - Use ANGLE for WebRender (done)
  • Display item conversion
    • bug 1339683 - Convert nsDisplayBullet to DisplayItemLayer. (done)
    • bug 1328494 - Support nsDisplayBullet. (done)
    • bug 1341156 - Support image border in Quantum Render. (done)
    • bug 1347469 - Supports gradient border in quantum render (done)
    • bug 929484 - Make HTML table frames (including row/cell/etc. frames) create their own display list items
  • Misc
    • bug 1332798 - Crash in <name omitted> | mozilla::widget::RectTextureImage::BeginUpdate (done)

Peter Chang

  • OMTA
    • [Done]dispatch animation/animationdata (bug 1325022) ~ two weeks
    • Works in compositor side
      • [Done]Remove the layer dependency in SampleAnimation (bug 1328229/1332211) ~ two weeks
      • Add sampleanimation(bug 1345017) ~ two weeks
      • Calling new WR API with new animated value ~ one weeks
      • replay WRcmds in WRBridgeParent if animation exists (bug 1328231) ~ three weeks
        • recording WRCmds
        • update animation value from the related div
        • replay saved WRcmds
      • [WR][Done]Add support to Webrender(opacity and scaling) ~ Done by Glenn
    • Support OMTA testing flow
      • remove layerHandle for omta testing api(bug 1337889)
        • Save CompositorAnimationsId/Animation Data/animation value
        • Query transform/opacity based on CompositorAnimationsId
      • move OMTA testing methods into share sub-protocol(bug 1316906)

Vincent Liu

  • gfx Stability
    • Monitor crash bugs in the list - every day.
    • Study listed cash bug in two days. (reproduce, find a possible way to fix).
    • bug 1322741 - [Done]Crash in mozilla::layers::SyncObjectD3D11::Init
    • bug 1329849 - [Done]crash at null [@DataAtOffset] in gfx/2d/DataSurfaceHelpers.cpp:91
    • bug 1331925 - [Done]canvas.toBlob callback not invoked when height is 0
    • bug 1336351 - [Done]canvas.toBlob callback should be async when height or width is 0
    • bug 1337009 - [Done]Re-enable CSS shapes reftests and CSS text reftests on Windows debug builds
    • bug 1339751 - [Working]Add gfxCriticalNote to dump error message when calling into ipc FatalError.
    • Add information to indicate OOM
    • bug 1332980 - [Working]Assertion failure: aKernelUnitLengthX > 0 (aKernelUnitLengthX can not be a negative or zero value)
    • bug 1343851 - [Done]Crash in mozilla::gl::SurfaceFactory::NewTexClient
    • bug 1314543 - [Done]Crash in mozilla::gfx::FeatureChange::AssertSanity | "unexpected type tag"
    • bug 1347617 - [Done]Memory disclosure in ConvolvePixel
    • Triage with other people to find out better way to fix.
      • bug 1325518,bug 1329432,bug 1328748,bug 1328905,bug 1329083,bug 1329176,bug 1329415,
      • bug 1325259 - Assertion failure: [GFX1]: RGBX corner pixel at (423,51) in 846x103 surface is not opaque
      • bug 1300355 - intermittent blank reftest test or reference screenshots on win7 PGO
      • bug 1339080 - Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::FatalError | mozilla::dom::ContentChild::FatalErrorIfNotUsingGPUProcess | libxul.so@0xd8d46b | mozilla::layers::PCompositorBridgeChild::SendPTextureConstructor
      • bug 1340876 - WebVR demos on Android crash, e.g. in libstagefright_soft_vpxdec.so
      • bug 1331371 - Intermittent file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/w3c-css/submitted/variables/variable-supports-13.html | application terminated with exit code 1 after Assertion failure: [GFX1]: Failed to create DrawTarget
      • bug 1347098 - Crash in mozilla::gfx::DrawTargetD2D1::factory
  • WebGL Conformance Test
    • bug 1323122 - [Done]Upgrade 2.0.0 Webgl conformance tests to top-of-tree - done
  • [Done]Hold a triage meeting to go through triage.
  • TODO (senior engs)
    • breackdown every item into one small bug(less than one month)
    • mentor topics
    • Team influence
    • Solid gfx triage/crash improvement plan
      • Triage flow
      • Hold a triage meeting to go through triage.

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