wgpu-conveyor
Buffer belt abstraction for wgpu supporting UMA optimization, automatic resizing, and a bind group cache.
Example
use ;
use *;
// Create wgpu instance, adapter, device, queue, and bind_group_layout.
let device_type = adapter.get_info.device_type;
// Create a single buffer manager.
let mut manager = new;
// Create a buffer from that manager
let mut buffer = manager.create_new_buffer;
/////////////////////////////////////
// -- Below happens every frame -- //
/////////////////////////////////////
// Write to that buffer
let mut command_encoder = device.create_command_encoder;
buffer.write_to_buffer;
// Use buffer in bind group
let mut bind_group_cache = new;
let bind_group_key = bind_group_cache.create_bind_group;
// Use bind group
renderpass.set_bind_group;
// Submit copies
queue.submit;
// Pump buffers
let futures = manager.pump;
// Run futures async
for fut in futures
// Loop back to beginning of frame
MSRV
Rust 1.41
License: MIT OR Apache-2.0 OR Zlib