Open Bug 1264023 Opened 8 years ago Updated 2 years ago

Make Moz2D's skia software backend thread-safe

Categories

(Core :: Graphics, defect, P3)

defect

Tracking

()

People

(Reporter: nical, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

(Whiteboard: [gfx-noted])

This means:
 - use the backend on multiple threads at the same time
 - preferably be able to move a DrawTarget from a worker to another
 - figure out how to deal with the drawing command inputs (paths, text runs, etc) (should they be read-only and used on all threads at the same time, or cloneable and each painting task gets its own copy)
What about non-Skia backends?
(In reply to Milan Sreckovic [:milan] from comment #1)
> What about non-Skia backends?

D2D definitely needs a little work. But not too much.
(In reply to Milan Sreckovic [:milan] from comment #1)
> What about non-Skia backends?

Just a matter of whether or not it's worth the effort. Since we are progressively removing cairo and CG to replace them with skia I don't know if we should bother.
D2D would certainly be worth making thread safe so that canvas can be rendered in a separate thread from content but it won't be useful for things like parallel tile painting.

Since this blocks 2D OffscreenCanvas (bug 801176), I'd like to try my hand at it. It seems like the needs of OffscreenCanvas run deeper than this, though, since the canvas implementation still seems to use non-Skia backends (including Cairo) and Thebes.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.