Open
Bug 1624272
Opened 5 years ago
Updated 2 years ago
Decouple texture cache storage and batching
Categories
(Core :: Graphics: WebRender, enhancement, P3)
Core
Graphics: WebRender
Tracking
()
NEW
People
(Reporter: nical, Unassigned)
References
(Blocks 1 open bug)
Details
Instead of updating shared texture arrays directly:
- Upload texture data to long lived buffers that aren't necessarily grouped by sampler types.
- Have a separate set of textures into which images are packed with a very aggressive eviction policy for batching purposes.
- Sll of these textures don't need to be texture arrays.
The advantages are:
- Flexibility: we could use different packing strategies for the staging and batching textures.
- We don't need to worry about resizing the staging textures and the aggressive eviction of the batching textures means they can also remain small and not change size.
- Allow using more efficient packing algorithms without worrying too much about fragmentation of the batching texture atlases.
- Get rid of texture arrays in the texture cache.
The main disadvantage is that many on-screen images exist twice causing an increase in GPU memory and some extra copying work between the staging and batching textures.
It's a bit unclear whether there is more we can/should do about packing and updating staging textures beyond what we do with the shared texture atlases today.
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•