TPEGFX/2016-Q4: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(/* ChihYi Leu Goal update)
 
(17 intermediate revisions by 7 users not shown)
Line 13: Line 13:
===ChihYi Leu===
===ChihYi Leu===
* Fix webgl conformance bugs
* Fix webgl conformance bugs
** 2/conformance/textures/misc/tex-sub-image-2d-bad-args.html (Passed: 7/8 Failed: 1/8 in 77.0 ms) [*]
** {{bug|1316539}} - [WebGL2 conformance test]Pass 2/conformance/textures/misc/tex-sub-image-2d-bad-args.html
** 2/conformance2/textures/misc/copy-texture-image-webgl-specific.html (Passed: 33/34 Failed: 1/34 in 454.0 ms) [wi]
*** land
** 2/conformance2/textures/misc/copy-texture-image.html (Passed: 112/136 Failed: 24/136 in 977.0 ms) [LS, wi]
** {{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
* Presentation skill
** Proper speaking speed
** Proper speaking speed
** Simple and clean description
** Simple and clean description
* WebGL Stability
* GFX Stability
** Fix webGL crashes, mostly filed by sheriff
** Fix webGL crashes, mostly filed by sheriff
*** {{bug|1304291}} - r?
*** {{bug|1304291}} - Assertion failure: [GFX1]: RGBX corner pixel at (0,0) in 1280x868 surface is not opaque: 0,0,0,0
*** {{bug|1290831}} - r?
**** land
*** {{bug|1309586}}
*** {{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
*** {{bug|1300549}}
**** 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)
* Fix at least one crash from crash-stat (optional)


===Daosheng Mu===
===Daosheng Mu===
* WebVR Gamepad support
* WebVR Gamepad support
** {{Bug|1299926}} - [webvr] [meta] Support HTC Vive controllers
** {{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
* WebGL2 conformance
** focus on [*] or [WI] first in [https://public.etherpad-mozilla.org/p/webgl2-conf webgl2-conf]
** focus on [*] or [WI] first in [https://public.etherpad-mozilla.org/p/webgl2-conf 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
* Figure out Q1 testing plan for WebVR in Gecko
* WebAPI practice, like message dispatch, thread model(option)
** 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
** Figure out how to design good WebIDL bindings for developers. Focus on types, attribute, WebIDL DOM bindings, Extended Attribute.
** Study
*** https://jstenback.wordpress.com/2012/04/07/history-of-mozillas-dom-bindings/
*** https://jstenback.wordpress.com/2012/04/11/new-dom-bindings/
*** http://tech.mozilla.com.tw/posts/1172/gecko-new-dom-bindings
*** http://tech.mozilla.com.tw/posts/5013/webidl-extended-attribute-大解密


=== Ethan Lin ===
=== Ethan Lin ===
* WebGL2 conformance
* WebGL2 conformance
** Update ANGLE/2862
** Update ANGLE/2862, ANGLE/2924
*** {{Bug|1303443}} - Update to ANGLE/2862
*** {{Bug|1319004}} - Update ANGLE to chromium/2924
** Fix high-priority failures in [https://public.etherpad-mozilla.org/p/webgl2-conf webgl2-failures]
** Fix high-priority failures in [https://public.etherpad-mozilla.org/p/webgl2-conf webgl2-failures]
** review
* Stability
* Stability
* WebRender
** 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
*** {{Bug|1321231}} - Correct WebRenderLayer coordinate
*** {{Bug|1324679}} - Fix overflow area for wr_pop_dl_builder
** Display Item conversion - nsDisplayBorder
*** {{Bug|1322079}} - Add support for border layers in WebRender LayerManager/Bridge code


=== Jerry Shih ===
=== Jerry Shih ===
* WebRender
* WebRender
** Add shared texture support to Webrender
** Add shared texture support to WebRender
*** Add shared BufferTexture support to Webrender
*** Add shared direct binding Texture support to WebRender
*** Add shared direct binding Texture support to Webrender
**** {{Bug|1323143}} - remove the reference of external images in previous frame when the render_backend produces a new frame
**** https://github.com/servo/webrender/pull/636
*** 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
***** Will backout this bug after {{Bug|1323143}}
** 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
* css-color-4 update for devtool
**{{Bug|1302787}} - add devtools support for css-color-4
**{{Bug|1310681}} - finish devtools support for css-color-4
**{{Bug|1310681}} - finish devtools support for css-color-4


Line 53: Line 119:
* gfx Stability
* gfx Stability
** Working on device reset crashes
** Working on device reset crashes
*** {{Bug|1292273}} {{Bug|1160157}} {{Bug|1300699 }}
*** {{Bug|1317267}} {{Bug|1317131}} {{Bug |1309829}} {{Bug|1292273}} {{Bug|1160157}} {{Bug|1323407}}
** Others
*** {{Bug|1313135}}
* Figure out future plan
* Figure out future plan
** Do some studies via code review and bug fixing for future plan.
** Do some studies via code review and bug fixing for future plan.
** CSS Painting API
*** {{Bug|1318573}}
** Device Reset refactoring and stability


=== Morris Tseng ===
=== Morris Tseng ===
* Quantum Render
* Quantum Render
** Build infra.
** Build infra.
*** Before Hawaii
*** Separate bindings to different crate
**** Separate bindings to different crate
*** Add compile option to exclude or include webrender.
**** Add compile option to exclude or include webrender.
*** Toggle webrender profiler by preference.
**** Passing all tests
** Merged all webrender commands to single transaction.
*** After Hawaii
** Using CanvasClient for WebRenderCanvasLayer.
**** Convert more DIs to layers.
* WebGL2 conformance tests
**** Thinking about auto-gen bindings.
* Unshipped bitmaprenderer and rename the function to match spec.


=== Peter Chang ===
=== Peter Chang ===


=== Vincent Liu ===
=== Vincent Liu ===
* WebGL Stability and Conformance test.
** all webgl2 crash bugs with all/windows categories in in [https://public.etherpad-mozilla.org/p/webgl2-conf 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 [https://public.etherpad-mozilla.org/p/webgl2-conf webgl2-failures].
** Bug triages
*** {{Bug|1319325}} - Crash in read-pixels-pack-parameters.html
* GFX stability.
* GFX stability.
** all webgl2 crash bugs with all/windows categories in in [https://public.etherpad-mozilla.org/p/webgl2-conf webgl2-failures].
** 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.
** 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.

Latest revision as of 09:44, 4 January 2017

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.