mirror of
https://github.com/EmbarkStudios/rust-gpu.git
synced 2025-02-17 01:14:06 +00:00
![XAMPPRocky](/assets/img/avatar_default.png)
* Add parameterized Image type * nits * Update crates/spirv-std/src/lib.rs * Update crates/rustc_codegen_spirv/src/symbols.rs * Update crates/rustc_codegen_spirv/src/symbols.rs * Update symbols.rs
21 lines
670 B
Rust
21 lines
670 B
Rust
use glam::*;
|
|
|
|
#[spirv(compute(threads(1)))]
|
|
pub fn main_cs(
|
|
#[spirv(global_invocation_id)] id: UVec3,
|
|
#[spirv(storage_buffer, descriptor_set = 0, binding = 0)] points_buffer: &mut [UVec2; 100],
|
|
#[spirv(descriptor_set = 1, binding = 1)] image: &spirv_std::Image!(2D, type=f32, sampled=false),
|
|
) {
|
|
unsafe { asm!("OpCapability StorageImageWriteWithoutFormat") };
|
|
let position = id.xy();
|
|
for i in 0..100usize {
|
|
let p0 = &points_buffer[i];
|
|
let p1 = &points_buffer[i + 1];
|
|
if p0.x == position.x && p1.y == position.y {
|
|
unsafe {
|
|
image.write(position, vec2(1.0, 0.0));
|
|
};
|
|
}
|
|
}
|
|
}
|