Mobile/SkiaGL: Difference between revisions
< Mobile
Jump to navigation
Jump to search
Line 10: | Line 10: | ||
</onlyinclude> | </onlyinclude> | ||
==Meetings== | ==Meetings== | ||
==6/25/13=== | |||
* Snorp filed bugs on all mochitest failures | |||
** matt has patch for shadow failures | |||
** snorp has patch for clip failures | |||
===6/18/13=== | ===6/18/13=== | ||
* Peter | * Peter |
Revision as of 00:04, 26 June 2013
Bugs
43 Total; 1 Open (2.33%); 42 Resolved (97.67%); 0 Verified (0%);
Meetings
6/25/13=
- Snorp filed bugs on all mochitest failures
- matt has patch for shadow failures
- snorp has patch for clip failures
6/18/13
- Peter
- looked at wrong color space bug
- fishIE tank
- can see fish
- b2g got 12 fps and the main thread was blocking by DrawTargetSkia::Flush
- snorp
- gal found a bunch of stuff
- found a memory issue with locking and unlocking before returning the pointer, snorp pushed a patch for that
- fishbowl slowed by texture cache (thrashing) making the cache size larger makes it better
- looked at test failures
- failed to talk to vlad
- might need to move mochitests to reftests
- Will schedule time with vlad and bjacob to figure out what we want to do with tests
- gal found a bunch of stuff
- george
- getting us into a landable state
- investigating a failure on a gradient test with software skia on windows
- bjacob
- refactoring ownership model
- see notes for model
- fixed memory leaks and crashes
- bug 884034 Matt Woodrow thinks we're wallpapering over one of the bugs, require a different patch
- webkit and skia initialize ref counts to 1, which is an impedance mismatch with gecko
- next steps
- snorp, vlad and bjacob to talk about test failures
- snorp will arrange
- george will get the graphics branch green
- peter will look at the wrapping issue in fishIE
- peter will use nexus 4 to compare chrome and gecko performance
- snorp, vlad and bjacob to talk about test failures
6/11/13
- George
- did another rebase, not worth it
- talked to bjacob about gl context ownership
- fixed GrContext ownership and refcounting, will land now that it doesn't break tests
- bjacob
- snorp
- tracked down a regression on OSX
- looked at test failures, we're mostly good except for gradients
- current status: https://tbpl.mozilla.org/?tree=Graphics&rev=b59cc8f382e5
- peter
- fix gl stream crash when skiaGL enabled
- fix wrong colorspace (RB Swapped) when skiaGL and HWComposer enabled
- Check gl errors from FishIE
- next steps
- George land everything on trunk, pref's off
- ETA 1-2 weeks
- George will make getting everything fixed on WinXP his priority
- will hold off landing until merge day (June 24)
- Snorp will look at gradient failures
- Bjacob will work on implementing new ownership model
- Peter will focus on FishIE perf
- George land everything on trunk, pref's off
6/4/13
- active work:
- bjacob: draw target leak, valgrind
- gw280: another leak, updated rebased branch to work with m-c, next is fixing intermittent ref test crash in FontHost
- snorp: source surface patch, waiting for review, passes try; nexus 4 still has an issue; next, what is causing mochitest failures, there is some failing composite bugs, but only causes issues with SkiaGL. cache thebes surface? we don't anymore.
- peter: integrate surface texture, opengl, skiagl, b2g is very slow, can't run on unagi
- chiajung: opengl es3 spec for this week, learn how to implement webgl extensions for it
- revisit the rebasing decision
- sec-critical bug (use after free) fixed with the new version
- can't do valgrind fixed with the new version
- delta for mochitests is minimal between current and the August one
- will use the graphics branch, try run tonight on all the make patches
- when will we be done?
- just have to fix the failing tests
- Noah's Arc project should help us test on the supported Fennec phones
- should we continue this meeting?
- very useful when people show up
- we will continue it every week
- will remind people the day before
- if too many people can't make it, we can cancel the meeting
4/30/13
- George to land his rebase on a branch
- please make bugs block the meta bug
- Taipei to look at OOM on mochitests (snorp to send email)
4/25/13
- We want to pick a version of Skia to develop against until we release
- That will either be the current version on m-c or the version that George has rebased
- Results of try run to make decision
- George hopes to have font host up for review tonight
- Peter looking at memory usage
Random Notes
ownership model
Before refactoring: _ _ _ _ CanvasRenderingContext2D / | | | V | regular Gecko stuff | (libxul) GLContext | | ^ | . | ---------------------|----------------------------------- . | . | . V . DrawTargetSkia Moz2D . | . | ---------------------|----------------------------------- . | . V . . . . GrContext Skia Problems: 1. GrContext has a raw pointer to the GLContext, but they live so far away it is hard to ensure that their lifespans match. 2. The GLContext is an implementation detail so it is unfortunate to have the CanvasRenderingContext2D explicitly manage it. Should be abstracted behind the DrawTarget. The plan we were discussing 1-2 weeks ago: 1. Move the ownership of the GLContext to the DrawTarget, so that both it and the Skia stuff that references it, are managed by the DrawTarget, which makes it easier to ensure that their lifespans match. 2. Other benefit: the GLContext is no longer directly exposed to the CanvasRenderingContext2D, it's now abstracted by the DrawTarget. CanvasRenderingContext2D | | | regular Gecko stuff | (libxul) | | | V DrawTargetSkia ----> GLContext | .> | . ---------------------|----------------------------------- | . V . GrContext Skia How we can get to this ideal world without breaking Moz2D's stand-alone characteristics: * add GenericRefPtr / GenericRefCounted classes to MFBT with virtual AddRef / Release (no templates, just a single virtual class). * Hack a way that DrawTarget's generic 'UserData' can be GenericRefCounted. * The result then looks exactly like above diagram, without adding any extra dependency to Moz2D. What we ended up doing: Instead of directly referencing the GLContext, the GrContext only references the DrawTargetSkia referencing it. In this way, the only raw pointer we have is just walking back a strong reference. As planned, DrawTargetSkia references the GLContext by means of a virtual base class, so no dependency is added to Moz2D. CanvasRenderingContext2D | GLContext | ^ | regular Gecko stuff | | (libxul) \ | ----------\----------|----------------------------------- \ | \ | \ | Moz2D \ | \ V DrawTargetSkia ^ | . | ------------------.--|----------------------------------- . | . V GrContext Skia