#gpu #vulkan #gpgpu

geyser

Crate用于简化小型项目中vulkano的使用

4个版本

使用旧Rust 2015

0.2.2 2019年10月29日
0.2.1 2019年10月29日
0.2.0 2019年10月29日
0.1.0 2019年10月24日

#49 in #gpgpu

MIT许可

13KB
141

此crate旨在使在小型项目中使用vulkano更加快速和简单。

示例

use geyser::Cryo;

// Instantiate vulkano
let cryo = Cryo::new();

// Create compute pipeline
let pipeline = compute_pipeline!(
    inst, 
    src: "
#version 450

layout(set = 0, binding = 0) buffer Data {
    uint data[];
} buf;

void main() {
    uint idx = gl_GlobalInvocationID.x;

    buf.data[idx] = idx * 12;
}
");

// Create buffer
let buf = cryo.buffer_from_data(vec![0; 69]).expect("Failed to create buffer");

// Create descriptor set
let set = descriptor_set!([buf], pipeline);

// Dispatch
cryo.dispatch([69, 1, 1], pipeline.clone(), set.clone());

// Display the results
buf.read().expect("Failed to read from buffer")
    .iter().enumerate().for_each(|(i, x)| println!("Index: {} equals: {}", i, *x));

依赖项

~35MB
~764K SLoC