google / filament

Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
https://google.github.io/filament/
Apache License 2.0
17.35k stars 1.83k forks source link

Metal: use a bump allocator for vertex and index uploads #7926

Closed bejado closed 5 days ago

bejado commented 2 weeks ago

This switches staging buffer allocation for vertex and index data to a linear bump allocation scheme instead of using a pool of buffers. The idea is that for certain apps, vertex uploads tend to be smaller and more spiky. Batching the uploads into a larger shared buffer reduces the number and frequency of buffers we need to request from Metal.

github-actions[bot] commented 2 weeks ago

Please add a release note line to NEW_RELEASE_NOTES.md. If this PR does not warrant a release note, add the 'internal' label to this PR.