Open Bug 1611153 Opened 4 years ago Updated 2 years ago

Per-cluster GPU data allocation

Categories

(Core :: Graphics: WebRender, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: nical, Unassigned)

References

(Blocks 1 open bug)

Details

Currently each primitive requests some data to be allocated independently. We manage the requests and expiration of these on a per-primitive basis.

Instead we could for each cluster compute the amount of GPU data we need, bulk-request/invalidate at that level, and sub-allocate primitive data within a cluster's gpu data with a simple bump allocator. We would still be able to send fine-grained updates for primitive data within a cluster.

The main motivation behind this is to reduce the overhead of managing gpu data lifetime during frame building.
A nice side-effect is that we'd probably be able to process primitives during frame building without needing mutable access to the GPU cache which currently prevents parallelization.

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