Centralized shader features list for WebRender
Categories
(Core :: Graphics: WebRender, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox76 | --- | fixed |
People
(Reporter: lsalzman, Assigned: lsalzman)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
We have a number of use-cases of WebRender (such as SWGL, ANGLE shader validation, Jamie's shader optimization work) that need a list of shaders compiled into WebRender and also what feature keys have been enabled on those shaders. Currently all these cases are maintaining their own independent lists which can easily break any time shaders or features are modified in WebRender.
After discussion with Glenn, we have decided one of the easiest ways to approach this is to make a centralized list in webrender_build. After initial experiments with a purely data list, combinatoric explosion makes this list both hard to generate and hard to maintain. It seems like the best way to go here is just to programmatically generate the list in a way not unlike the shaders themselves are, which keeps the code to generate the list both small and manageable.
To ensure the list stays up to date, WebRender with check when instantiating new lazily-compiled shaders whether they are in this list, even if the shader is not used, just to strictly enforce the list and give developers immediate feedback if they forget to update it.
| Assignee | ||
Comment 1•5 years ago
|
||
| Assignee | ||
Comment 2•5 years ago
|
||
Depends on D67958
| Assignee | ||
Comment 3•5 years ago
|
||
Depends on D67959
| Assignee | ||
Comment 4•5 years ago
|
||
Depends on D67960
| Assignee | ||
Comment 5•5 years ago
|
||
Depends on D67961
Comment 7•5 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/178ba8ef059c
https://hg.mozilla.org/mozilla-central/rev/72cbbe719b5d
https://hg.mozilla.org/mozilla-central/rev/86954fd81261
https://hg.mozilla.org/mozilla-central/rev/a6414fe1b3ec
https://hg.mozilla.org/mozilla-central/rev/86555508bdba
Description
•