TPEGFX/2017-Q2: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Update goals.)
 
(45 intermediate revisions by 9 users not shown)
Line 8: Line 8:


==Goal==
==Goal==
===Bruce Sun===  
===Bruce Sun===
* {{Bug|1358023}} - Replace build systems of freetype2 library with mozilla ones (done)
 
* <del>{{Bug|1345330}} - Integrate PDFium and its Pepper layer into m-c (pending)
** Add corresponding licenses and follow up license review (pending)
** Double check we are using correct symbols of libjpeg, libpng, zlib (i.e. MOZ_Z_* prefixed ones) ~ (pending)
** Pack additional binaries (i.e. librpc.so and libpepperpdfium.so) into installation packages ~one week wip (pending)</del>
 
* <del>{{Bug|1306576}} - Fix memory allocation and deallocation mismatch (pending)</del>
 
* <del>{{Bug|1288298}} - Fix Unicode encoding mismatch between JS-Plugins and PPAPI Plug-in (pending)</del>
 
* {{Bug|1368948}} - Integrate PDFium for converting EMF on Windows (done)
** Write a script to automatically update local files with upstream PDFium (r+)
** Write a moz.build to successfully build PDFium into libxul.dll on Windows (r+)
** Update license.html to include corresponding license notices of PDFium (i.e. agg, base, bigint, lcms, pdfium) (r+)
** Replace third-party libraries of PDFium with existing ones in Gecko (i.e. freetype, libjpeg, zlib) (r+)
** Remove unused libraries (i.e. libpng, libtiff) (r+)
** Hack PDfium to further decouple unused libraries (i.e. OpenJPEG) (r+)
** Find a proper location to place PDfium ==> /modules/pdfium (done)
** Build errors caused by MSVC STL headers would be solved by {{Bug|1349064}} (solved by :jgilbert)
** Land PDFium library sources (done)
 
* Study Graphics
** https://wiki.mozilla.org/Gecko:Overview#Graphics
** Join stability group discussion
 
===ChihYi Leu===
===ChihYi Leu===
* (done) {{Bug|1347866}} - Update ANGLE to 2950
** land
* WebGL Stability
* 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
** Investigate ANGLE crash described in {{Bug|1354622}}
*** land
* WebGL perf
** {{bug|1336710}} - Crash in rx::Blit9::initialize
** (done) {{Bug|1355430}} - [WebGL Mochitest] Add Mochitest to test Video Fast-path uploading
***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
*** land
** demo profiling
** Make a perf to allow webapps disable WebGL validation
** https://bugzilla.mozilla.org/show_bug.cgi?id=1207170 (1)
* WebVR testing (Blocked by WebVR development)
** {{Bug|1229479}} - [webvr] Implement Mochitests for WebVR
*** {{Bug|1306505}} - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation
**** land
*** {{Bug|1311802}} - [webvr] Implement Mochitest: onvrdisplaydeactivate should only trigger for content that is presenting
**** land
*** {{Bug|1311797}} - [webvr] Implement Mochitest: `vrdisplayactivate` event should trigger only when no content is presenting
**** wip
* TODO
* TODO
** (done) update bugzilla more frequently
** (done) update bugzilla more frequently
** gfx triage for WebGL(stability or regression)
** 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
* WebVR
** [Done] {{Bug|1305873}} - [webvr] Update Oculus support to the latest SDK (Currently 1.10)
** VR controller
** [Done] {{Bug|1305889}} - [webvr] Enumerate Oculus Touch Controllers through the Gamepad API
*** {{Bug|1349895}} - Support HTC Vive trackers (done)
** [Done] {{Bug|1305890}} - [webvr] Support Oculus Touch button and analogue inputs in the Gamepad API
*** {{Bug|1336002}} - [webvr] Support HTC Vive button touched in the Gamepad API (done)
** [Done] {{Bug|1305891}} - [webvr] Support Oculus Touch orientation and position tracking in the Gamepad API
*** {{Bug|1354737}} - Add assertion for checking TrackedDeviceClass_GenericTracker at OpenVR HandleInput()  
** [Done] {{Bug|1305892}} - [webvr] Support Oculus Touch Haptic Feedback
*** {{Bug|1336003}} - [webvr] Support Oculus Touch button touched in the Gamepad API (done)
* WebVR conformance test suite
*** {{Bug|1356452}} - For Vive controllers the hand attribute is not always available (done)
** [Done] {{Bug|1323328}} - [webvr] Implement Cross-Browser compatible tool for emulating VR hardware
*** {{Bug|1353523}} - Adjust threshold for Gamepad button `pressed` state and introduce pref to handle slightly sticky controller buttons (done)
*** [Del] Integrate with OpenVR runtime source code to emulate the real device
*** {{Bug|1355648}} - Add hasOrientation, hasPosition to the Gamepad extension for tracked controllers  (done)
**** We choose to make a puppet device for our first step.
*** {{Bug|1356460}} - Vive trigger touched flag is not set back to false (done)
*** [Done] Share conformance test suite to ensure compatibility across browsers as much as possible.
** Stability
*** [Done] Gamepad extension tests
*** {{Bug|1306493}} - [webvr] Implement Mochitest: Multiple calls to VRDisplay.GetFrameData must return the same values within a frame (done)
** {{Bug|1229479}} - [webvr] Implement Mochitests for WebVR (optional)
*** {{Bug|1351547}} - WebVR: crash [@mozilla::WebGLContext::StartVRPresentation()] (done)
*** [Done] {{Bug|1306493}} - [webvr] Implement Mochitest: Multiple calls to VRDisplay.GetFrameData must return the same values within a frame
*** {{Bug|1358885}} - Crash in mozilla::gfx::PVRManager::Transition (done)
*** {{Bug|1306505}} - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation
*** {{Bug|1321275}} - [webvr] Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::gfx::PVRLayer::Transition  (done)
**** Forward to lenzak
*** {{Bug|1356421}} - OpenVR controllers enumeration is not reliable (done)
*** {{Bug|1306507}} - [webvr] Implement Mochitest: VRDisplay.isPresenting must not spill information between JS contexts
*** {{Bug|1358725}} - Release OpenVR controller axis should return zero (done)
*** {{Bug|1311797}} - [webvr] Implement Mochitest: `vrdisplayactivate` event should trigger only when no content is presenting
*** {{Bug|1359670}} - Notify GamepadManager when controllers are removed in VRPuppet manager (done)
*** {{Bug|1311802}} - [webvr] Implement Mochitest: onvrdisplaydeactivate should only trigger for content that is presenting
*** {{Bug|1362284}} - Assign the background thread before flushing pending events at GamepadEventChannelParent (done)
* WebGL module work
*** {{Bug|1358395}} - Permaorange in dom/tests/mochitest/general/test_interfaces.html and test_interfaces_secureContext.html on Windows for every VR property when Gecko 55 merges to beta on 2017-06-12 (done)
** [Done] Figure out WebGL perf plan, like talos or perf improvement
*** {{Bug|1366941}} - Crash in VRLayerChild::SubmitFrame when the textureClient size is the same with CanvasClient (done)
** [Done] Study spec, https://github.com/KhronosGroup/WebGL/issues
*** {{Bug|1323088}} - Firefox Nightly 53.0a1 (2016-12-11) crashes in [@ @0x0 | mozilla::gfx::VRControllerManagerOpenVR ... ] & [@ @0x0 | mozilla::gfx::VRManager ... ]
** [Done] Review
*** {{Bug|1371228}} - VRLayerParent should be destroyed when SteamVR runtime is terminated  (done)
* [Done] {{Bug|1302341}} - SVG link element focus behavior (optional)
*** {{Bug|1364856}} - When VRLayerChild receives __delete__, stop sending IPC messages (done)
* [Done] {{Bug|1302340}} - SVG elements and negative tabindex (optional)
** Reftest
*** {{Bug|1343730}} - [webvr] VRDisplayPuppet submitFrame support (done)
*** {{Bug|1229478}} - [webvr] Implement Reftests for WebVR (done)
*** {{Bug|1229481}} - [webvr] Implement Reftest support for WebVR functionality (done)
*** {{Bug|1358010}} - Permaorange assertion failure and crash in test_vrDisplay_getFrameData.html when Gecko 55 merges to beta on 2017-06-12 (done)
*** {{Bug|1323328}} - [webvr] Implement Cross-Browser compatible tool for emulating VR hardware (done)
*** {{Bug|1368990}} - Implement WebVR reftest for verifying onVRPresentChange (done)
* WebGL perf
** https://public.etherpad-mozilla.org/p/webgl-perf (2)
** Profiling
*** {{Bug|1358977}} - Profiling WebGL performance (done)
** Stability
*** {{Bug|1349102}} - WebGL crash: [@mozilla::gl::GLContext::AfterGLCall] (done)
*** {{Bug|1355726}} - Talos test for WebGL video texture upload (done)
*** {{Bug|1349055}} - WebGL: crash [@mozilla::WebGLContext::AssertCachedGlobalState] (done)
*** {{Bug|1358053}} - Assertion failure: surface->IsDataSourceSurface() (The snapshot SourceSurface from WebGL rendering contest is not DataSourceSurface.), at ImageBitmap.cpp:885 (done)
*** {{Bug|1349067}} - WebGL crash: [mozilla::gl::GLScreenBuffer::GetReadFB] (done)
*** {{Bug|1355362}} - Add a crashtest for the negative stencil clear value (done)
*** {{Bug|1368284}} - webgl loop using less than only iterates a couple times, period  (done)
* TODO
* TODO
** Question list for WebGL perf
** Investigate {{Bug|1207170}} - webgl perf (done)
** investigate {{Bug|1207170}} - webgl perf
** Taipei developer conference - WebVR
** highlight to peter about bandwidth concern for WebVR and WebGL
** Mentor support


=== Ethan Lin ===
=== Ethan Lin ===
* DisplayItem correctness
* DisplayItem correctness
** TODO breakdown (5/7)
** Turn on background color layer by default ({{Bug|1358055}})
*** Fix mask problems ({{Bug|1355012}}, {{Bug|1354464}})
*** Check fuzz issues ({{Bug|1350792}})
** Turn on button background image layer by default
*** Fix position ({{Bug|1360112}})
*** Correct draw result ({{Bug|1359360}})
*** Fix mask problems for DisplayItemLayer
** Turn on canvas background color layer by default
** (Done) Turn on button foreground layer by default ({{Bug|1355417}})  
** pref profiling for SF all hands
** pref profiling for SF all hands
 
*** profile loading time for wiki page
*** profile scrolling performance on wiki page
* TODO (senior engs)
* TODO (senior engs)
** mentor topics(optional)
** mentor topics(optional)
Line 77: Line 128:


=== Jerry Shih ===
=== Jerry Shih ===
* [Done] Webrender updating support
* Quantum dom labeling
** {{Bug|1329574}} - enable depth-buffer when we use webrender
** Manage the dom labeling working status with Kevin and Vincent.
* [Done] Renderer thread support
* Quantum flow related bug
** {{Bug|1337661}} - handle renderer thread reftest failed
** Check the device reset checking status on content
** {{Bug|1338274}} - clean up non-renderer thread code
** Check the device reset checking status on compositor side.
** {{Bug|1337803}} - turn on renderer thread by default
** Catch up the problem of PCompositorBridge::Msg_WillClose(bug 1334655) and cooperate with David.
* WR external image integration
* Webrender Stability
** update compositable, textureHost and textureSource for new WR thread model(WR render and WR backend are not at IPC receiver thread)
** Check for the various format and streaming video with WR.
*** [Done] {{Bug|1338285}} - WR external image callback interface
* Check the performance of WR image passing.
*** [Done] {{Bug|1340997}} - implement external image handler in RendererOGL
** Profile the flow for video playback with WR.
*** Try to use renderOGL with WRCompoisitables in renderer thread - 2 week
** Use WR YCbCr image function in gecko. Currently, gecko use libyuv to convert the YCbCr data to RGB DataSoruceSourface. We could just use shader to do to color conversion.
**** {{Bug|1341235}} - External image integration
**** <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)
* TODO (mid of Jan review first two itmes)
** breackdown every item into one small bug(less than one month)
** breackdown every item into one small bug(less than one month)
** Copy WR items into gfx-wr-2017 with effort estimation
** mentor topics
** mentor topics
** Team influence
** Team influence
Line 122: Line 147:
* gfx Stability
* gfx Stability
** Monitor bugs
** Monitor bugs
** Windows API study
***{{Bug|1292273}} - Crash in nvwgf2um.dll | BaseThreadInitThunk
***{{Bug|1325933}} - Crash in nvwgf2um.dll | TCLSWrappers<T>::CLSDestroy
***{{Bug|1160157}} - non device reset startup forced crash in mozilla::layers::SyncObjectD3D11::FinalizeFrame()
***{{Bug|1351349}} - Crash in igd10iumd32.dll | CContext::EmptyOutAllDDIBindPoints
** Windows API study & TDR
***(Done) {{Bug|1356119}} - Do not Flush() old context after device reset
***(Done) {{Bug|1363677}} - Do not process old DeviceContext's draw command after device reset
***{{Bug|1364563}} - Compositor process fails to composite layers from a content process
** Others
***(Done) {{Bug|1356537}} - Revert the device reset check in EndFrame
***(Done) {{Bug|1355168}} - Crash in mozilla::dom::CanvasRenderingContext2D::DrawWindow
***{{Bug|1362321}} - Crash in gfxPlatform::Init


* DOM-Labeling
* DOM-Labeling
** (Done) {{Bug|1343754}} - gfx-labeling Label runnables in gfx rendering.
** (Done) {{Bug|1350828}} - gfx-labeling Label for CompositableFowarder
* gfx triage practice
* gfx triage practice
* Houdini Painting API
* Houdini Painting API
* Campus presentation
* Campus presentation
** 2/22 @ TsingHua University.
** (Done) 5/15 @ TsingHua University.
* Others
** (Done) {{Bug|1366027}} - setLineDash draws box taller than it should
**(Done) {{Bug|1361574}} - Apple Live Photos flicker to black
* TODO
* TODO
** breackdown every item into one small bug(between two week or less than one month)  
** breackdown every item into one small bug(between two week or less than one month)  
Line 134: Line 175:


=== Morris Tseng ===
=== 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
* Display item conversion
** {{Bug|1339683}} - Convert nsDisplayBullet to DisplayItemLayer. (done)
** Table conversion
** {{Bug|1328494}} - Support nsDisplayBullet. (done)
*** {{bug|929484}} - Make HTML table frames (including row/cell/etc. frames) create their own display list items
** {{bug|1341156}} - Support image border in Quantum Render. (done)
**** Fix display item collision problem.
** {{bug|1347469}} - Supports gradient border in quantum render (done)
**** Add some test works.
** {{bug|929484}} - Make HTML table frames (including row/cell/etc. frames) create their own display list items
*** {{Bug|1344082}} - Add webrender support for TableBCBorder
 
** Turn on background color by default
* WebRender/servo improve
*** {{Bug|1358055}} - Enable 'layers.advanced.background-color' by default
** Add two new rectangle structures in webrender. (done)
*** Add fuzzy-if (should be done by Ethan)
*** https://github.com/servo/webrender/pull/903
*** Some pixel snapping issues.
** Supports gradient border in webrender. (done)
*** Some problem with scrolling.
*** https://github.com/servo/webrender/pull/953
** Turn on bullet by default
** Supports gradient border in servo (done)
*** Add some fuzzy-if for sub-pixel text.
*** https://github.com/servo/servo/pull/15905
*** Use blob image for path type.
 
** Turn on canvas background color by default
* Misc
*** Most problem would be same as background color.
** {{bug|1332798}} - Crash in <name omitted> | mozilla::widget::RectTextureImage::BeginUpdate (done)
** Turn on basic border by default.
*** Not very clear now. But we'll turn on basic border first.
* QR performance profiling
** Profile wiki page


=== Peter Chang ===
=== Peter Chang ===
* OMTA
* OMTA
** [Done]dispatch animation/animationdata (bug 1325022) ~ two weeks
** Works in compositor side
** Works in compositor side
*** [Done]Remove the layer dependency in SampleAnimation (bug 1328229/1332211) ~ two weeks
*** [Done]Add sampleanimation(bug 1345017) ~ two weeks
*** Add sampleanimation(bug 1345017) ~ two weeks
*** [Done]enable WebRender OMTA by default(bug 1358437)
*** Calling new WR API with new animated value ~ one weeks
*** <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
*** 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)
*** move OMTA testing methods into share sub-protocol(bug 1316906)


=== Vincent Liu ===
=== Vincent Liu ===
* gfx Stability
* gfx Stability
* GetDeviceRemoved study
** {{Bug|1350330}} - [Done]Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::layers::PLayerTransactionChild::SendReleaseCompositable
** Compositor/Content
** {{Bug|1357307}} - [Done]startup crash in gfxPrefs::CMSMode() with session manager installed
** {{Bug|1362366}} - [Done]Crash in mozilla::layers::LockD3DTexture<t>
** {{Bug|1363675}} - [Done]Get D3D11Device from TextureSourceProvider if it exists.
** {{Bug|1367689}} - [Working]Make Wrench work with gecko
** {{Bug|1371546}} - [Working]Intermittentshort.mp4.lastframe.html,test_WaitingToEndedTransition_mp4.html,test_selftest.html | application crashed [@ mozilla::wr::RenderTextureHost::~RenderTextureHost]
** {{Bug|1373937}} - [Working]Crash in CContext::ID3D11DeviceContext1_UpdateSubresource_<T>
** [Done]Prepare a sharing of crash debugging skill with WinDbg
** Many bugs triage.
* gfx labeling
* gfx labeling
 
** {{Bug|1333962}} - [Triage]Label the vsync runnable
** {{Bug|1343475}} - [Done]Label runnables for platform-independent widget
** {{Bug|1350677}} - [Done]Label nsExiprationTracker subclass gfxFontCache
* TODO (senior engs)
* TODO (senior engs)
** breakdown every item into one small bug(less than one month)
** breakdown every item into one small bug(less than one month)

Latest revision as of 06:25, 12 July 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

Bruce Sun

  • bug 1358023 - Replace build systems of freetype2 library with mozilla ones (done)
  • bug 1345330 - Integrate PDFium and its Pepper layer into m-c (pending)
    • Add corresponding licenses and follow up license review (pending)
    • Double check we are using correct symbols of libjpeg, libpng, zlib (i.e. MOZ_Z_* prefixed ones) ~ (pending)
    • Pack additional binaries (i.e. librpc.so and libpepperpdfium.so) into installation packages ~one week wip (pending)
  • bug 1306576 - Fix memory allocation and deallocation mismatch (pending)
  • bug 1288298 - Fix Unicode encoding mismatch between JS-Plugins and PPAPI Plug-in (pending)
  • bug 1368948 - Integrate PDFium for converting EMF on Windows (done)
    • Write a script to automatically update local files with upstream PDFium (r+)
    • Write a moz.build to successfully build PDFium into libxul.dll on Windows (r+)
    • Update license.html to include corresponding license notices of PDFium (i.e. agg, base, bigint, lcms, pdfium) (r+)
    • Replace third-party libraries of PDFium with existing ones in Gecko (i.e. freetype, libjpeg, zlib) (r+)
    • Remove unused libraries (i.e. libpng, libtiff) (r+)
    • Hack PDfium to further decouple unused libraries (i.e. OpenJPEG) (r+)
    • Find a proper location to place PDfium ==> /modules/pdfium (done)
    • Build errors caused by MSVC STL headers would be solved by bug 1349064 (solved by :jgilbert)
    • Land PDFium library sources (done)

ChihYi Leu

  • (done) bug 1347866 - Update ANGLE to 2950
    • land
  • WebGL Stability
  • WebGL perf
  • WebVR testing (Blocked by WebVR development)
    • bug 1229479 - [webvr] Implement Mochitests for WebVR
      • bug 1306505 - [webvr] Implement mochitest: VRDisplay.exitPresent must only be allowed by content that started VR Presentation
        • land
      • bug 1311802 - [webvr] Implement Mochitest: onvrdisplaydeactivate should only trigger for content that is presenting
        • land
      • bug 1311797 - [webvr] Implement Mochitest: `vrdisplayactivate` event should trigger only when no content is presenting
        • wip
  • TODO
    • (done) update bugzilla more frequently
    • gfx triage for WebGL(stability or regression)

Daosheng Mu

  • WebVR
    • VR controller
      • bug 1349895 - Support HTC Vive trackers (done)
      • bug 1336002 - [webvr] Support HTC Vive button touched in the Gamepad API (done)
      • bug 1354737 - Add assertion for checking TrackedDeviceClass_GenericTracker at OpenVR HandleInput()
      • bug 1336003 - [webvr] Support Oculus Touch button touched in the Gamepad API (done)
      • bug 1356452 - For Vive controllers the hand attribute is not always available (done)
      • bug 1353523 - Adjust threshold for Gamepad button `pressed` state and introduce pref to handle slightly sticky controller buttons (done)
      • bug 1355648 - Add hasOrientation, hasPosition to the Gamepad extension for tracked controllers (done)
      • bug 1356460 - Vive trigger touched flag is not set back to false (done)
    • Stability
      • bug 1306493 - [webvr] Implement Mochitest: Multiple calls to VRDisplay.GetFrameData must return the same values within a frame (done)
      • bug 1351547 - WebVR: crash [@mozilla::WebGLContext::StartVRPresentation()] (done)
      • bug 1358885 - Crash in mozilla::gfx::PVRManager::Transition (done)
      • bug 1321275 - [webvr] Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::gfx::PVRLayer::Transition (done)
      • bug 1356421 - OpenVR controllers enumeration is not reliable (done)
      • bug 1358725 - Release OpenVR controller axis should return zero (done)
      • bug 1359670 - Notify GamepadManager when controllers are removed in VRPuppet manager (done)
      • bug 1362284 - Assign the background thread before flushing pending events at GamepadEventChannelParent (done)
      • bug 1358395 - Permaorange in dom/tests/mochitest/general/test_interfaces.html and test_interfaces_secureContext.html on Windows for every VR property when Gecko 55 merges to beta on 2017-06-12 (done)
      • bug 1366941 - Crash in VRLayerChild::SubmitFrame when the textureClient size is the same with CanvasClient (done)
      • bug 1323088 - Firefox Nightly 53.0a1 (2016-12-11) crashes in [@ @0x0 | mozilla::gfx::VRControllerManagerOpenVR ... ] & [@ @0x0 | mozilla::gfx::VRManager ... ]
      • bug 1371228 - VRLayerParent should be destroyed when SteamVR runtime is terminated (done)
      • bug 1364856 - When VRLayerChild receives __delete__, stop sending IPC messages (done)
    • Reftest
      • bug 1343730 - [webvr] VRDisplayPuppet submitFrame support (done)
      • bug 1229478 - [webvr] Implement Reftests for WebVR (done)
      • bug 1229481 - [webvr] Implement Reftest support for WebVR functionality (done)
      • bug 1358010 - Permaorange assertion failure and crash in test_vrDisplay_getFrameData.html when Gecko 55 merges to beta on 2017-06-12 (done)
      • bug 1323328 - [webvr] Implement Cross-Browser compatible tool for emulating VR hardware (done)
      • bug 1368990 - Implement WebVR reftest for verifying onVRPresentChange (done)
  • WebGL perf
    • https://public.etherpad-mozilla.org/p/webgl-perf (2)
    • Profiling
    • Stability
      • bug 1349102 - WebGL crash: [@mozilla::gl::GLContext::AfterGLCall] (done)
      • bug 1355726 - Talos test for WebGL video texture upload (done)
      • bug 1349055 - WebGL: crash [@mozilla::WebGLContext::AssertCachedGlobalState] (done)
      • bug 1358053 - Assertion failure: surface->IsDataSourceSurface() (The snapshot SourceSurface from WebGL rendering contest is not DataSourceSurface.), at ImageBitmap.cpp:885 (done)
      • bug 1349067 - WebGL crash: [mozilla::gl::GLScreenBuffer::GetReadFB] (done)
      • bug 1355362 - Add a crashtest for the negative stencil clear value (done)
      • bug 1368284 - webgl loop using less than only iterates a couple times, period (done)
  • TODO
    • Investigate bug 1207170 - webgl perf (done)
    • Taipei developer conference - WebVR
    • Mentor support

Ethan Lin

  • DisplayItem correctness
    • Turn on background color layer by default (bug 1358055)
    • Turn on button background image layer by default
    • Turn on canvas background color layer by default
    • (Done) Turn on button foreground layer by default (bug 1355417)
    • pref profiling for SF all hands
      • profile loading time for wiki page
      • profile scrolling performance on wiki page
  • TODO (senior engs)
    • mentor topics(optional)
    • Team influence
    • status update

Jerry Shih

  • Quantum dom labeling
    • Manage the dom labeling working status with Kevin and Vincent.
  • Quantum flow related bug
    • Check the device reset checking status on content
    • Check the device reset checking status on compositor side.
    • Catch up the problem of PCompositorBridge::Msg_WillClose(bug 1334655) and cooperate with David.
  • Webrender Stability
    • Check for the various format and streaming video with WR.
  • Check the performance of WR image passing.
    • Profile the flow for video playback with WR.
    • Use WR YCbCr image function in gecko. Currently, gecko use libyuv to convert the YCbCr data to RGB DataSoruceSourface. We could just use shader to do to color conversion.
  • TODO (mid of Jan review first two itmes)
    • breackdown every item into one small bug(less than one month)
    • mentor topics
    • Team influence

Kevin Chen

  • gfx Stability
    • Monitor bugs
      • bug 1292273 - Crash in nvwgf2um.dll | BaseThreadInitThunk
      • bug 1325933 - Crash in nvwgf2um.dll | TCLSWrappers<T>::CLSDestroy
      • bug 1160157 - non device reset startup forced crash in mozilla::layers::SyncObjectD3D11::FinalizeFrame()
      • bug 1351349 - Crash in igd10iumd32.dll | CContext::EmptyOutAllDDIBindPoints
    • Windows API study & TDR
      • (Done) bug 1356119 - Do not Flush() old context after device reset
      • (Done) bug 1363677 - Do not process old DeviceContext's draw command after device reset
      • bug 1364563 - Compositor process fails to composite layers from a content process
    • Others
      • (Done) bug 1356537 - Revert the device reset check in EndFrame
      • (Done) bug 1355168 - Crash in mozilla::dom::CanvasRenderingContext2D::DrawWindow
      • bug 1362321 - Crash in gfxPlatform::Init
  • DOM-Labeling
    • (Done) bug 1343754 - gfx-labeling Label runnables in gfx rendering.
    • (Done) bug 1350828 - gfx-labeling Label for CompositableFowarder
  • gfx triage practice
  • Houdini Painting API
  • Campus presentation
    • (Done) 5/15 @ TsingHua University.
  • Others
    • (Done) bug 1366027 - setLineDash draws box taller than it should
    • (Done) bug 1361574 - Apple Live Photos flicker to black
  • TODO
    • breackdown every item into one small bug(between two week or less than one month)
    • frequently bugzilla updates

Morris Tseng

  • Display item conversion
    • Table conversion
      • bug 929484 - Make HTML table frames (including row/cell/etc. frames) create their own display list items
        • Fix display item collision problem.
        • Add some test works.
      • bug 1344082 - Add webrender support for TableBCBorder
    • Turn on background color by default
      • bug 1358055 - Enable 'layers.advanced.background-color' by default
      • Add fuzzy-if (should be done by Ethan)
      • Some pixel snapping issues.
      • Some problem with scrolling.
    • Turn on bullet by default
      • Add some fuzzy-if for sub-pixel text.
      • Use blob image for path type.
    • Turn on canvas background color by default
      • Most problem would be same as background color.
    • Turn on basic border by default.
      • Not very clear now. But we'll turn on basic border first.
  • QR performance profiling
    • Profile wiki page

Peter Chang

  • OMTA
    • Works in compositor side
      • [Done]Add sampleanimation(bug 1345017) ~ two weeks
      • [Done]enable WebRender OMTA by default(bug 1358437)
    • Support OMTA testing flow
      • move OMTA testing methods into share sub-protocol(bug 1316906)

Vincent Liu

  • gfx Stability
    • bug 1350330 - [Done]Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::layers::PLayerTransactionChild::SendReleaseCompositable
    • bug 1357307 - [Done]startup crash in gfxPrefs::CMSMode() with session manager installed
    • bug 1362366 - [Done]Crash in mozilla::layers::LockD3DTexture<t>
    • bug 1363675 - [Done]Get D3D11Device from TextureSourceProvider if it exists.
    • bug 1367689 - [Working]Make Wrench work with gecko
    • bug 1371546 - [Working]Intermittentshort.mp4.lastframe.html,test_WaitingToEndedTransition_mp4.html,test_selftest.html | application crashed [@ mozilla::wr::RenderTextureHost::~RenderTextureHost]
    • bug 1373937 - [Working]Crash in CContext::ID3D11DeviceContext1_UpdateSubresource_<T>
    • [Done]Prepare a sharing of crash debugging skill with WinDbg
    • Many bugs triage.
  • gfx labeling
    • bug 1333962 - [Triage]Label the vsync runnable
    • bug 1343475 - [Done]Label runnables for platform-independent widget
    • bug 1350677 - [Done]Label nsExiprationTracker subclass gfxFontCache
  • TODO (senior engs)
    • breakdown 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.(Optional)

open qusetion

  • TODO (senior engs)
    • breackdown every item into one small bug(less than one month)
    • mentor topics
    • Team influence