wgpu-primitives 0.3.0

Composable GPU primitives for Rust applications using wgpu.
Documentation
use wgpu_primitives::{context::Context, sort::Sorter};

fn main() {
    env_logger::init();
    pollster::block_on(run());
}

async fn run() {
    println!("Initializing Context...");
    let ctx = Context::init().await.expect("Failed");
    let mut sorter = Sorter::from_context(&ctx);

    let input = vec![10, 5, 8, 1, 2, 9, 3, 4, 7, 6, 0, 11];
    println!("Input:  {:?}", input);

    let result = sorter.sort(&input).await.expect("GPU sort failed");
    println!("Output: {:?}", result);

    let mut expected = input.clone();
    expected.sort();

    let result_slice = &result[0..input.len()];
    assert_eq!(result_slice, expected.as_slice());
    println!("Radix Sort Verified!");
}