TPEGFX/2016-Q4: Difference between revisions
< TPEGFX
Jump to navigation
Jump to search
m (→GFX Topics) |
m (→Jerry Shih) |
||
| (41 intermediate revisions by 8 users not shown) | |||
| Line 1: | Line 1: | ||
==GFX Topics== | ==GFX Topics(from high to low priority)== | ||
* gfx Stability | * [https://howareyou322.github.io/gfx-stability gfx Stability] | ||
* Quantum Compositor process (2016/Q4) | * Quantum Compositor process (2016/Q4) | ||
* Quantum Rendering | * [https://public.etherpad-mozilla.org/p/webgl2-conf WebGL2 conformance](2017/Q1 target at 51) | ||
* | ** focus on [*] or [WI] first | ||
* [https://public.etherpad-mozilla.org/p/wrgfx Quantum Rendering] | |||
* Canvas 2D perf(google sheet/streaming) | |||
* DisplayList(layout related work) | * DisplayList(layout related work) | ||
* Paint correctness([https://bugzilla.mozilla.org/buglist.cgi?keywords=correctness&keywords_type=allwords&list_id=12942222&resolution=---&query_format=advanced buglist]) | * Paint correctness([https://bugzilla.mozilla.org/buglist.cgi?keywords=correctness&keywords_type=allwords&list_id=12942222&resolution=---&query_format=advanced buglist]) | ||
| Line 10: | Line 12: | ||
==Goal== | ==Goal== | ||
===ChihYi Leu=== | ===ChihYi Leu=== | ||
* WebGL2 | * 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 | ||
** {{bug| | ** Simple and clean description | ||
** {{bug| | * GFX Stability | ||
** {{bug| | ** 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=== | ===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 | * WebGL2 conformance | ||
** | ** 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 | ||
** 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, ANGLE/2924 | ||
* | *** {{Bug|1303443}} - Update to ANGLE/2862 | ||
** {{Bug| | *** {{Bug|1319004}} - Update ANGLE to chromium/2924 | ||
** Fix high-priority failures in [https://public.etherpad-mozilla.org/p/webgl2-conf webgl2-failures] | |||
** review | |||
* | |||
** {{Bug| | |||
** | |||
** | |||
* Stability | * Stability | ||
** {{Bug| | ** Fix webgl/canvas crash issues | ||
** {{Bug|1299062}} - heap-overflow and potential UAF [@mozilla::dom::CanvasRenderingContext2D::GetImageDataArray] | *** {{Bug|1298576}} - Division exception/EXCEPTION_INT_OVERFLOW in WebGl shader compiler | ||
** {{Bug| | *** {{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 | ||
** | ** Add shared 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 | ||
***{{Bug| | **** https://github.com/servo/webrender/pull/636 | ||
** | *** Handle LayerTransaction sync problem for WebRender render_backend thread model. | ||
***{{Bug| | **** {{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| | *** {{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 | |||
**{{Bug|1302787}} - add devtools support for css-color-4 | |||
**{{Bug|1310681}} - finish devtools support for css-color-4 | |||
===Kevin Chen=== | ===Kevin Chen=== | ||
* | * gfx Stability | ||
** | ** Working on device reset crashes | ||
* | *** {{Bug|1317267}} {{Bug|1317131}} {{Bug |1309829}} {{Bug|1292273}} {{Bug|1160157}} {{Bug|1323407}} | ||
** Others | |||
*** {{Bug|1313135}} | |||
** {{Bug| | * Figure out 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 | ||
** | ** 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 === | === 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. | ||
** | ** 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 | ||
** {{Bug| | * 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
- bug 1316539 - [WebGL2 conformance test]Pass 2/conformance/textures/misc/tex-sub-image-2d-bad-args.html
- 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.
- bug 1304291 - Assertion failure: [GFX1]: RGBX corner pixel at (0,0) in 1280x868 surface is not opaque: 0,0,0,0
- Fix webGL crashes, mostly filed by sheriff
- 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
- bug 1299926 - [webvr] [meta] Support HTC Vive controllers - land
- 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
- Figure out how to design good WebIDL bindings for developers. Focus on types, attribute, WebIDL DOM bindings, Extended Attribute.
- Study
Ethan Lin
- WebGL2 conformance
- Update ANGLE/2862, ANGLE/2924
- bug 1303443 - Update to ANGLE/2862
- bug 1319004 - Update ANGLE to chromium/2924
- Fix high-priority failures in webgl2-failures
- review
- Update ANGLE/2862, ANGLE/2924
- 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
- Fix webgl/canvas crash issues
- 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
- Address some rendering problems
Jerry Shih
- WebRender
- Add shared 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
- bug 1320320 - flush and wait the last frame's data before the webrender render() call
- Add shared direct binding Texture support to WebRender
- 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
- Add shared texture support to WebRender
- css-color-4 supportion in gecko
- bug 1295456 - Implement css-color-4 changes to color function syntax
- css-color-4 update for devtool
- bug 1302787 - add devtools support for css-color-4
- bug 1310681 - finish devtools support for css-color-4
Kevin Chen
- gfx Stability
- Working on device reset crashes
- Others
- Figure out future plan
- Do some studies via code review and bug fixing for future plan.
- CSS Painting API
- Device Reset refactoring and stability
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.
- Build infra.
- 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
- all webgl2 crash bugs with all/windows categories in in webgl2-failures.
- 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
- Bugs triages
- Others
- bug 1301459 - In nsSVGMaskFrame::GetMaskForMaskedFrame, create surface by Factory::CreateDataSourceSurface.