Add entry points for GPU

This commit is contained in:
2026-06-27 18:25:41 -04:00
parent 6671475c75
commit 44b71c2692
11 changed files with 202 additions and 104 deletions
+17
View File
@@ -90,6 +90,23 @@ impl Camera {
}
}
pub mod entry {
use crate::camera::Camera;
use spirv_std::glam::{IVec2, Vec2};
use spirv_std::spirv;
#[spirv(compute(entry_point_name = "main_camera", threads(1)))]
pub fn main_camera(
#[spirv(storage_buffer, descriptor_set = 0, binding = 0)] camera: &Camera,
#[spirv(storage_buffer, descriptor_set = 0, binding = 1)] coordinates_ifs: &[Vec2],
#[spirv(storage_buffer, descriptor_set = 1, binding = 0)] coordinates_pixel: &mut [IVec2],
) {
for i in 0..coordinates_ifs.len() {
coordinates_pixel[i] = camera.transform_point(coordinates_ifs[i])
}
}
}
#[cfg(test)]
mod test {
use crate::camera::Camera;