Stop using texture arrays in the texture cache
Categories
(Core :: Graphics: WebRender, task, P3)
Tracking
()
People
(Reporter: nical, Assigned: nical)
References
(Blocks 1 open bug)
Details
Attachments
(2 files, 2 obsolete files)
We have run into a number of driver bugs with texture arrays, especially on android. avoiding texture arrays will let us remove some slow paths and workarounds. In addition, in order to implement more advanced texture atlas packing strategies, it is better to allow larger regions than 512x512.
Texture arrays originally allowed us to have a simple resizable storage with 512x512 granularity (each layer), but we stopped resizing texture arrays because of performance issues on windows+intel, so their only advantage now for the texture cache is size granularity which we don't take advantage of either.
Assignee | ||
Comment 1•4 years ago
|
||
The patch ended up more complicated than I anticipated due to a lot of places in webrender assuming texture arrays unless specified otherwise.
The patch also merges TextureTarget into ImageBufferKind, and removes the realloc code path ing the texture cache (which is supposed to be dead code since because of performance issues on windows+intel).
Assignee | ||
Comment 2•4 years ago
|
||
Changing the size or number of layers of textures unfortunately usually leads to small sampling differences which requires fixing in the refetest references.
Comment 5•4 years ago
|
||
Backed out for wrench/reftests/ failures
Backout link: https://hg.mozilla.org/integration/autoland/rev/230fc37a1857517313297b2c1fa1d9b311406390
Log link: https://treeherder.mozilla.org/logviewer?job_id=320851835&repo=autoland&lineNumber=1468
Comment 6•4 years ago
|
||
Please also take a look at this perma reftest failure:
https://treeherder.mozilla.org/logviewer?job_id=320862794&repo=autoland&lineNumber=4894
Assignee | ||
Comment 7•4 years ago
|
||
The patch ended up more complicated than I anticipated due to a lot of places in webrender assuming texture arrays unless specified otherwise.
The patch also merges TextureTarget into ImageBufferKind, and removes the realloc code path ing the texture cache (which is supposed to be dead code since because of performance issues on windows+intel).
Assignee | ||
Comment 8•4 years ago
|
||
Changing the size or number of layers of textures unfortunately usually leads to small sampling differences which requires fixing in the refetest references.
Depends on D96816
Comment 10•4 years ago
|
||
Backed out for bustage on gradient_cache_hardstop_clip.yaml.
Backout link: https://hg.mozilla.org/integration/autoland/rev/066dcb29ed85f8e7edee6afed408fecda1513c19
Failure log: https://treeherder.mozilla.org/logviewer?job_id=321564627&repo=autoland&lineNumber=1593
Comment 11•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Comment 12•4 years ago
|
||
bugherder |
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 13•4 years ago
|
||
Backed out from Beta for 84.0b4 for causing bug 1677696. It remains landed for 85+.
https://hg.mozilla.org/releases/mozilla-beta/rev/5ebdc746f3e8
Description
•