Use a StagingBelt for regular buffer uploads

`Queue::write_buffer` allocates very regularly. A
`StagingBelt` gives us much more control.
This commit is contained in:
Héctor Ramón Jiménez 2024-03-29 03:55:20 +01:00
parent b411ea71e7
commit c69090f74b
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
2 changed files with 39 additions and 9 deletions

View file

@ -101,6 +101,9 @@ async fn run() {
window.request_redraw();
}
WindowEvent::RedrawRequested => {
let mut encoder = device
.create_command_encoder(&CommandEncoderDescriptor { label: None });
viewport.update(
&queue,
Resolution {
@ -113,6 +116,7 @@ async fn run() {
.prepare(
&device,
&queue,
&mut encoder,
&mut font_system,
&mut atlas,
&viewport,
@ -135,8 +139,6 @@ async fn run() {
let frame = surface.get_current_texture().unwrap();
let view = frame.texture.create_view(&TextureViewDescriptor::default());
let mut encoder = device
.create_command_encoder(&CommandEncoderDescriptor { label: None });
{
let mut pass = encoder.begin_render_pass(&RenderPassDescriptor {
label: None,