[−][src]Function emu_core::pool::pool
pub fn pool(
new_device_pool: Vec<DevicePoolMember>
) -> Result<(), PoolAlreadyInitializedError>
Sets the device pool to the given Vec of devices
You can use pool to set up a custom pool of devices. It can only be successfully called just once. Calling pool multiple times will result in a panic at runtime.
let mut device = futures::executor::block_on(Device::all()).remove(0); pool(vec![DevicePoolMember { device: Mutex::new(device), device_info: None }])?; // technically, we don't need this assertion because we know the pool is initialized futures::executor::block_on(assert_device_pool_initialized()); let pi: DeviceBox<f32> = DeviceBox::with_size(std::mem::size_of::<f32>())?;
This function can be useful if you want to work with the WebGPU internals with take.
You can call pool at the start of your application to initialize all the devices you plan on using.
You can then do graphics stuff using take and all of wgpu-rs and compute stuff with high-level get/set/compile/spawn.