TPEGFX/2016-Q4

From MozillaWiki
Jump to: navigation, search

GFX Topics(from high to low priority)

  • gfx Stability
  • Quantum Compositor process (2016/Q4)
  • WebGL2 conformance(2017/Q1 target at 51)
    • focus on [*] or [WI] first
  • Quantum Rendering
  • Canvas 2D perf(google sheet/streaming)
  • DisplayList(layout related work)
  • Paint correctness(buglist)
  • Any layout works, ex: perf/CSS properties

Goal

ChihYi Leu

  • Fix webgl conformance bugs
    • bug 1316539 - [WebGL2 conformance test]Pass 2/conformance/textures/misc/tex-sub-image-2d-bad-args.html
      • land
    • bug 1316544 - [WebGL2 conformance test] Pass 2/conformance2/textures/misc/copy-texture-image-webgl-specific.html
      • land
    • bug 1316546 - Failure on 2/conformance2/textures/misc/copy-texture-image.html
      • Test correctness under discussion
  • Presentation skill
    • Proper speaking speed
    • Simple and clean description
  • GFX Stability
    • Fix webGL crashes, mostly filed by sheriff
      • bug 1304291 - Assertion failure: [GFX1]: RGBX corner pixel at (0,0) in 1280x868 surface is not opaque: 0,0,0,0
        • land
      • bug 1290831 - Hit MOZ_CRASH(Unexpected error with MOZ_GL_DEBUG_ABORT_ON_ERROR. (Run with MOZ_GL_DEBUG_ABORT_ON_ERROR=0 to disable)) at GLContext.h:759
        • land
      • bug 1300549 - Assertion failure: blob->mHeight >= 1, at WebGLTextureUpload.cpp:155
        • land
      • bug 1316327 - Crash in mozilla::WebGLFramebuffer::BlitFramebuffer (Webgl2.0 regression)
        • land
      • bug 1309586 - Assertion failure: false at WebGLContext.cpp:2274
        • Discussed with Ethan, it's more important to mitigate using CPU-side conversion instead of remove the assertion here.
  • Fix at least one crash from crash-stat (optional)

Daosheng Mu

  • WebVR Gamepad support
    • bug 1299926 - [webvr] [meta] Support HTC Vive controllers - land
      • bug 1299928 - [webvr] Enumerate HTC Vive Controllers through the Gamepad API - land
      • bug 1299929 - [webvr] Support HTC Vive button inputs and analogue triggers in the Gamepad API - land
      • bug 1299930 - [webvr] Support HTC Vive controller trackpads through the Gamepad API - land
      • bug 1299932 - [webvr] Support HTC Vive orientation and position tracking in the Gamepad API - land
      • bug 1315636 - [webvr] Support HTC Vive button release - land
      • bug 1299937 - [webvr] Support HTC Vive Haptic Feedback - r?
      • bug 1313581 - [webvr] Support HTC Vive controller hand through the Gamepad API - land
    • bug 1318586 - [webvr] Adjust OpenVR controller button mapping - land
    • bug 1320633 - [webvr] Refresh for new controllers coming in gfxVROpenVR - land
    • bug 1316279 - [webvr] WebVR in out-of-process compositing mode - land
    • bug 1321505 - [webvr] After reloading pages, it can't enumerate the controllers - land
    • bug 1313585 - nsGlobalWindow needs to remove the existing gamepads while it is removed by GamepadManager. - land
    • bug 1310904 - --disable-gamepad build fails: dom/gamepad/ipc/GamepadEventTypes.ipdlh: fatal error: 'mozilla/dom/GamepadMessageUtils.h' file not found - land
    • bug 1317706 - Remove Pose WebIDL because we can move the sharing implementation to our c++ code - land
    • bug 1318618 - Support nsCString data type in gfxPrefs in OOP compositor - land
    • bug 1320343 - Preferences::SetBool called from the content process in VRManager - land
    • bug 1311587 - Crash in mozilla::gfx::VRControllerManagerOpenVR::HandleInput - land
    • bug 1315718 - mGamepadManager looks like a security hazard - land
    • bug 1315896 - Remove MOZ_GAMEPAD and adjust for other non gamepad support platforms build. - land
    • bug 1323088 - Firefox Nightly 53.0a1 (2016-12-11) crashes in [@ @0x0 | mozilla::gfx::VRControllerManagerOpenVR ... ] & [@ @0x0 | mozilla::gfx::VRManager ... ] - land
    • reviews
  • WebGL2 conformance
    • focus on [*] or [WI] first in webgl2-conf
    • bug 1323626 - [WebGL2 conformance test] Pass conformance2/textures/misc/tex-mipmap-levels.html - help investigation
    • bug 1320030 - Failure in conformance/extensions/oes-vertex-array-object.html - help investigation
    • bug 1323367 - [WebGL2 conformance test] conformance2/textures/misc/tex-input-validation.html crash - help investigation
    • reviews
  • Figure out Q1 testing plan for WebVR in Gecko
    • Discuss and file bug 1323327 - (webvr-conformance) [webvr] [meta] Implement Cross-Browser WebVR conformance suite and tools
    • Integrate our automated-test with OpenVR runtime source code to build up a conformance test suit like WebGL conformance tests.
  • WebAPI practice

Ethan Lin

  • WebGL2 conformance
  • Stability
    • Fix webgl/canvas crash issues
      • bug 1298576 - Division exception/EXCEPTION_INT_OVERFLOW in WebGl shader compiler
      • bug 1299062 - heap-overflow and potential UAF [@mozilla::dom::CanvasRenderingContext2D::GetImageDataArray]
      • bug 1317640 - Crash [@ mozalloc_abort]
      • bug 1316926 - Security Bug
  • Quantum Render
    • Address some rendering problems
    • Display Item conversion - nsDisplayBorder
      • bug 1322079 - Add support for border layers in WebRender LayerManager/Bridge code

Jerry Shih

  • WebRender
    • Add shared texture support to WebRender
      • Add shared direct binding Texture support to WebRender
      • Handle LayerTransaction sync problem for WebRender render_backend thread model.
        • bug 1320320 - flush and wait the last frame's data before the webrender render() call
    • Use compositable for WebRenderXXXLayer
      • bug 1321141 - make PWebRenderBridge support PCompositable
      • bug 1321144 - use ImageClient/Host in WebRenderXXXXLayer
      • bug 1325349 - use ImageLayer's imageContainer directly in WebRenderImageLayer
  • css-color-4 supportion in gecko
    • bug 1295456 - Implement css-color-4 changes to color function syntax
  • css-color-4 update for devtool

Kevin Chen

Morris Tseng

  • Quantum Render
    • Build infra.
      • Separate bindings to different crate
      • Add compile option to exclude or include webrender.
      • Toggle webrender profiler by preference.
    • Merged all webrender commands to single transaction.
    • Using CanvasClient for WebRenderCanvasLayer.
  • WebGL2 conformance tests
  • Unshipped bitmaprenderer and rename the function to match spec.

Peter Chang

Vincent Liu

  • WebGL Stability and Conformance test.
    • all webgl2 crash bugs with all/windows categories in in webgl2-failures.
      • bug 1313584 - Hit MOZ_CRASH(GFX: Unhandled pname) at /Volumes/firefoxos/gecko-dev/dom/canvas/WebGLSampler.cpp:112
      • bug 1314505 - signal 11 was received by running dom/canvas/test/webgl-conf/checkout/deqp/functional/gles3/indexedstatequery.html
      • bug 1320613 - Crash in conformance/extensions/webgl-draw-buffers-feedback-loop.html
      • bug 1323122 - [In progress] Upgrade 2.0.0 Webgl conformance tests to top-of-tree
      • Arrange all webgl conformance test results on Etherpad in webgl2-failures.
    • Bug triages
      • bug 1319325 - Crash in read-pixels-pack-parameters.html
  • GFX stability.
    • Bugs triages
      • bug 1309073 - Crashes when calling processOneGlyph() with finalPosition.fX = NaN
      • bug 1306890 - SEGV in SkBlitLCD16OpaqueRow_SSE2
      • bug 1311274 - Canvas2dContext filter: filter-function taints the canvas
    • Crash bugs
      • bug 1310064 - Crash in VerifyRGBXFormat in DrawTargetSkia.
    • fix at least one bug from crash-report.
      • bug 1322741 - [In progress] Crash in mozilla::layers::SyncObjectD3D11::Init
  • Others
    • bug 1301459 - In nsSVGMaskFrame::GetMaskForMaskedFrame, create surface by Factory::CreateDataSourceSurface.