| Summary: | Rapidly resizing a WebGL-rendered canvas leaks memory | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Kenneth Russell <kbr> |
| Component: | WebGL | Assignee: | Kenneth Russell <kbr> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Major | CC: | dino, jdarpinian, kkinnunen |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=219780 https://bugs.webkit.org/show_bug.cgi?id=229606 |
||
| Bug Depends on: | 217212 | ||
| Bug Blocks: | |||
|
Description
Kenneth Russell
2020-10-22 14:47:34 PDT
After preparing a patch fixing this against somewhat old WebKit sources and rebasing to top-of-tree, I found Kimmo's fix for Bug 209139 might have already fixed this. Rebuilding to see. Sorry, that should have been Bug 217212. Yes, Kimmo's fix for Bug 217212 fixed this memory leak. I'll ask about getting that merged into the Safari 14 release branch. *** This bug has been marked as a duplicate of bug 217212 *** I'll dupe it to bug 217581 which is open. Although I tried to be a bit more meticulous with the underlying gpu object references when refactoring, I don't think the original code had that significant leaks (that the new code does not, at least). *** This bug has been marked as a duplicate of bug 217581 *** The original code leaked EGL pbuffers that were associated with the IOSurfaces, and it looked to me like those were somehow retaining the IOSurfaces. Fixing the leak in the old [WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:] method definitely addressed the previous leak, which also doesn't exist after the fix for Bug 217212. > The original code leaked EGL pbuffers that were associated with the IOSurfaces, and it looked to me like those were somehow retaining the IOSurfaces EGL pbuffers do retain the iosurfaces and unretain only in destructors. I'll take your word on the original code leaking pbuffers and dupe this back. *** This bug has been marked as a duplicate of bug 217212 *** |