Open
Bug 901503
Opened 12 years ago
Updated 2 years ago
GLContext multiplexing
Categories
(Core :: Graphics, defect)
Core
Graphics
Tracking
()
NEW
People
(Reporter: bjacob, Unassigned)
References
Details
We need to have multiple GLContext's use the same underlying OpenGL context, multiplexing the state machine, implementing context switches in MakeCurrent.
The need for this is especially coming from canvas contexts, like Canvas 2D using Skia/GL --- it is very wasteful to have separate physical OpenGL contexts for each canvas. Each OpenGL context is ~ 1 M of memory usage immediately on creation, on typical b2g devices (see bug 813783).
By itself, multiplexing OpenGL contexts is easy enough as there is not too much global state to switch. For example, texture-wise, only the texture unit bindings are global state, while all the state contained in individual texture objects is insensitive to multiplexing.
The problem right now is that GLContext is ridden with a lot of extra features that make it harder to multiplex than a plain OpenGL context should be. That should be fixed by the GLContext refactoring (bug 901498).
Reporter | ||
Updated•12 years ago
|
Assignee: nobody → bjacob
Comment 1•12 years ago
|
||
I also noticed this issue if you launch everything.me app on b2g device...
It creates lots of new CanvasRender2D context/GLContext pairs.
Comment 2•3 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.
Assignee: jacob.benoit.1 → nobody
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•