TPEGFX/2017-Q1: Difference between revisions

 
(100 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}})
*DisplayItem conversion perf
** [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
** memory usage/memory copy/IPC cost when there are lots of displayitems
** memory usage/memory copy/IPC cost when there are lots of displayitems</del>
** Convert other items
* TODO (senior engs)
* Import ContentClient to WebRenderPaintedLayer
** Come out plans for DisplayItem topic ({{Bug|1342343}})
** Import SingleTiledContentClient first
*** Consider wr_push/RenderLayer Overhead(Go to accumulated)/how to group different displyitem
** Rotation Buffer - Need to push two sub rect to WR
** 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
* Performance and memory usage comparison
** compare the current gecko and the WR with all WRImageLayer for gallery-like page.
** 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 ===
* Canvas support
* Canvas support
** Using CanvasClient for canvas
** {{Bug|1322500}} - Using CanvasClient for canvas (done)
** Share MacIOSurface
*** 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)
** Handle surface format (e.g RGBA and RGBX)
*** {{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)
** Quote from https://public.etherpad-mozilla.org/p/wr-plan#lineNumber=185
** {{bug|1341156}} - Support image border in Quantum Render. (done)
*** Supports disc, circle, square, disclosure triangle and image.
** {{bug|1347469}} - Supports gradient border in quantum render (done)
*** disc, circle and square are drawn as glyphs -> text item
** {{bug|929484}} - Make HTML table frames (including row/cell/etc. frames) create their own display list items
*** disclosure triangle is a triange path that is filled -> path item
 
*** image -> image item
* 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
** dispatch animation/animationdata
** [Done]dispatch animation/animationdata (bug 1325022) ~ two weeks
** 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 ===
===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
Ethan
   disable fallback for reftest
   disable fallback for reftest

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