TPEGFX/2017-Q3: Difference between revisions

 
(26 intermediate revisions by 8 users not shown)
Line 8: Line 8:


==Goal==
==Goal==
===Bruce Sun===
===ChihYi Leu===
 
*[TODO]WebVR
 
*{{Bug|1371190}} - Update ANGLE to chromium/3229
* Study
** Landed
** Device reset flow (Q4 device reset testing plan)


* gfx stability
*[TODO]Layers-free
** fix crash from crashStat
**{{Bug|1386162}} - Support nsDisplayClearBackground in layers-free mode
*** landed
** focus try failures with Layers-free


* Device reset
*[Done]WebGL stability
** topics from backlog
** {{Bug|1319160}} - Intermittent test_webgl_disjoint_timer_query.html | Time elapsed query is available immediately after flush and event loop tick.
 
===ChihYi Leu===
* (done) {{Bug|1347866}} - Update ANGLE to 2950
** land
* WebGL Stability
** Investigate ANGLE crash described in {{Bug|1354997}}
*** UPDATE: It is an ANGLE bug, we reported it to Google and they have fixed it, but cherry-picking the fix will result in various conformance fails. Now we are investigating this issue and considering updating ANGLE to 3118.
** (done) {{Bug|1298285}} - Intermittent dom/canvas/test/webgl-conf/generated/test_conformance__context__context-release-upon-reload.html | getError expected: NO_ERROR. Was CONTEXT_LOST_WEBGL : Should be no errors
*** An OOM failure only happens in win32 non-e10s mode, will be disabled in the future.
* WebGL perf
** (done) {{Bug|1355430}} - [WebGL Mochitest] Add Mochitest to test Video Fast-path uploading
*** land
*** land
** (done) demo profiling
** (canceled) Make a pref to allow webapps disable WebGL validation
*** Canceled because of no significant performance gain.
** 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
* WebVR Controller
** (done) {{Bug|1358064}} -Refactor fire event functions in GamepadManager
*** land
* TODO
** (done) update bugzilla more frequently
** gfx triage for WebGL(stability or regression)


===Daosheng Mu===
===Daosheng Mu===
* WebVR
* WebVR
** VR process
** VR process (TBD)
** SteamVR Knuckles
*** {{Bug|1392216}} - Implement VR listener thread for listening devices change (done)
** Telemetry
** Follow-up (done)
** Enable tests for WebVR on Mac
*** {{Bug|1384865}} - OpenVR VRDisplay position is on the floor
  - Reftest.
*** {{Bug|1382114}} - Update openvr to 1.0.9
*** {{Bug|1397397}} - vrdisplayconnect / vrdisplaydisconnect not firing on Vive / OpenVR
*** {{Bug|1352520}} - Add GeckoProfiler Labels for WebVR
** Gamepad (done)
*** {{Bug|1375816}} - displayId for Gamepad of the VRDisplay
*** {{Bug|1382123}} - SteamVR Knuckles support for VRController
*** {{Bug|1352410}} - Add a preference to enable or disable haptic feedback for gamepads
*** {{Bug|1383110}} - Controllers are positioned inside the headset
*** {{Bug|1389227}} - Crash in InvalidArrayIndex_CRASH | mozilla::gfx::VRSystemManagerOpenVR::StopVibrateHaptic
*** {{Bug|1402749}} - WebVR: Assertion failure: !listeners.IsEmpty() [@mozilla::dom::GamepadManager::NewConnectionEvent]
** Telemetry (done)
*** {{Bug|1306156}} - [webvr] Use telemetry for tracking usage of WebVR API
*** {{Bug|1392476}} - Add dropframe telemetry for WebVR
*** Dashboard, [https://mozvr.com/moz-vr-telemetry/ https://mozvr.com/moz-vr-telemetry/]
** Enable tests for WebVR on Mac (done)
*** {{Bug|1383907}} - Enable WebVR tests on macOS
* [TODO] WebVR backlog for Q4 or 2018
* [TODO] WebVR backlog for Q4 or 2018
** get perf/fps from Telemetry
** get perf/fps from Telemetry
Line 60: Line 49:
** VR process with Rust
** VR process with Rust
** Think about gfxCrititalNote from crash-stat
** Think about gfxCrititalNote from crash-stat
* [TODO] sync after 8/15 WebVR meetup
*** sync after 8/15 WebVR meetup
* WebGL (done)
** {{Bug|1359055}} - WebGL2: Upload of compressed textures from PBO fails
** {{Bug|1398404}} - Assertion failure: IsCurrent(), at gfx/gl/GLContext.h:672
* Others (done)
** Talk at Mozilla Taipei developer day


=== Ethan Lin ===
=== Ethan Lin ===
Line 70: Line 64:
** Add invalidation mechanism for fallback
** Add invalidation mechanism for fallback
** Investigate failures on try server
** Investigate failures on try server
** Investigate performance issues
** [TBD]Investigate SVG performance issues
*** SVG
*** Scrolling
** Prepare and mentor topics for newcomers
** Debug tool
** Debug tool
*** Have a better to way to debug layers-free display problems
*** Have a better to way to debug layers-free display problems
* Turn on advanced background image by default
* Turn on advanced background image by default
* Prepare and mentor topics for newcomers


=== Jerry Shih ===
=== Jerry Shih ===
* WR improvement
* WR improvement
** Handle buffer allocation failed problem.
**Handle big size image - https://github.com/servo/webrender/pull/1533
** Check the performance of WR image passing.
**Handle long text in WR - https://github.com/servo/webrender/pull/1597
*** Profile the flow for video playback with WR(cooperate with nical).
**Handle shmem mapping failed case in WR - https://github.com/servo/webrender/pull/1668
* Quantum flow related bug
**Export WR texture maximum size to gecko - https://github.com/servo/webrender/pull/1566
** Spend 4hr/w to profile the qf related bug.
**{{Bug|1357299}} - video directx nv12 texture support in gecko
**{{Bug|1388240}} - video directx planar-ycbcr texture support in gecko
* Resolve Quantum flow related bug
**{{Bug|1368531}} - dispatch font loading to idle thread.
**{{Bug|1349991}} - skip the DidComposite() message for non-updated layer tree.
* Stability
* Stability
** Build up a group to triage the crash bug per week and fix them.
**Build up a group to triage the crash bug per week and fix them - https://wiki.mozilla.org/TPEGFX/Bugs#GFX_stability
** Handle the device-reset problem in video case
**{{Bug|1379995}} - webgl deleteBuffer crash.
** [TBD]Try to design the simplified model for device-reset flow.
**{{Bug|1369677}} - shmem mapping failed crash.
* [TODO] mentor
* mentor
** Device reset
** Handle the device-reset problem in video case - {{Bug|1390452}} - handle the device-reset problem in video case.
* 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)
Line 98: Line 94:
===Kevin Chen===
===Kevin Chen===
* gfx Stability
* gfx Stability
** Monitor bugs
** TDR
** Windows API study
*** [Done] {{Bug|1364563}} - Compositor process fails to composite layers from a content process
*** [Done] {{Bug|1386182}} - Should set FeatureState after EnableByDefault() in gfxWindowsPlatform::InitializeD3D11Config
*** Handle Video TDR
**** [Done] {{bug|1390452}} - Handle TDR when video is playing
*** [TBD]TDR fallback refactor
**** unify the recovery path of 'killGPU' and 'device reset'
** Stability triage
*** [Done] {{Bug|1351349}} - Crash in igd10iumd32.dll | CContext::EmptyOutAllDDIBindPoints
*** [Done] {{Bug|1362321}} - Crash in gfxPlatform::Init
*** focus WR-stability
* WR
** focus on try failures of Quantum Render
*** [Done] {{Bug|1392470}} - Add wr support for nsDisplayButtonBoxShadowOuter
*** [Done] {{Bug|1396492}} - Support uniform radius for nsDisplayBoxShadowInner
*** [Done] {{Bug|1393376}} - Handle the filter's invalidation in layers-free mode


* DOM-Labeling
* gfx triage practice
* Houdini Painting API
* Campus presentation
** 2/22 @ TsingHua University.
* 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 117: Line 122:
*** mix-blend-mode support (done)
*** mix-blend-mode support (done)
*** CSS animation won't start (done)
*** CSS animation won't start (done)
*** Clipping (hand over to kats)
*** Perspective support (done)
*** Support filter
*** Filter fallback path (done)
*** Check if we need convert other container layer type displayitem.
*** WebRenderUserData refinement (done)
*** Check try failures.
*** Transform3d tests fix (almost done, only 2-3 left)
*** Support backface:hidden (done)
*** Discuss how we handle after paint event.
* Retained DL
** Fix test failure in webrender. (done)
* WR improvement
* WR improvement
** Support all filter mode.
** Add backface:hidden support. (done)
** Check performance problem in our current "many small blob image" mode.
** Fix some transform 3d bugs. (done)
* Turn on advanced table by default.
* Table refactor regression (done)


* [TODO] follow up with QA support
* [TODO] follow up with QA support
Line 139: Line 148:
=== Vincent Liu ===
=== Vincent Liu ===
* gfx Stability
* gfx Stability
** {{Bug|1350330}} - [Done]Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::layers::PLayerTransactionChild::SendReleaseCompositable
** {{Bug|1367689}} - [Done] Make Wrench work with gecko
** {{Bug|1357307}} - [Working]startup crash in gfxPrefs::CMSMode() with session manager installed
** {{Bug|1371546}} - [Done] Intermittent short.mp4.lastframe.html,test_WaitingToEndedTransition_mp4.html,test_selftest.html | application crashed [@ mozilla::wr::RenderTextureHost::~RenderTextureHost]
** Many bugs triage.
** {{Bug|1379545}} - [Done] Start up crash with combination of WR.enable, WR.force-angle=false
* GetDeviceRemoved study
** {{Bug|1374254}} - [Done] Crash in RtlpWaitOnCriticalSection | RtlpEnterCriticalSectionContended | RtlEnterCriticalSection | CUseCountedObject<T>::UCReleaseUse
** A study into {{Bug|1355416}}
** {{Bug|1386487}} - [Done] Crash in CContext::ID3D11DeviceContext1_Map_<T>
** Compositor/Content
** {{Bug|1390401}} - [Done] Fix typo of ENABLE_WR_RENDERING to ENABLE_WR_RECORDING.
* gfx labeling
** {{Bug|1399006}} - [Working] stylo: Fatal Assertion dropping CachedBorderImageData during servo traversal
** {{Bug|1333962}} - [Triage]Label the vsync runnable
* [TODO] local testing for device-reset under non-e10s
** {{Bug|1343475}} - [Done]Label runnables for platform-independent widget
** A workable testing flow with Dxcap in local.
** {{Bug|1350677}} - [Done]Label nsExiprationTracker subclass gfxFontCache
** Use cases under device-reset testing.
* [Pending after local testing]{{Bug|1379911}} - [Working] Device Reset Testing.
** [TODO] try server
*** Verified Dxcap.exe behavior on try server.
*** callback or event communication between test case and Reftest.jsm
*** Accurately to run DxCap.cpp in specific time slot.
* [TODO Need breakdown]gfx labeling
** {{Bug|1356956}} - Label the messages under PCompositorBridge
* 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)
Confirmed users
250

edits