TPEGFX/2017-Q2

From MozillaWiki
Jump to: navigation, search

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