mirror of
https://github.com/EmbarkStudios/rust-gpu.git
synced 2024-11-25 08:14:12 +00:00
c3a9b9fd3e
* Accept `#[rust_gpu::spirv()]` attributes rather than `#[spirv()]` in backend * Implemented `#[spirv(..)]` proc macro attribute for all platforms that conditionally translates to `#[rust_gpu::spirv()]` based on platform * Changed `SpirvBuilder` to always apply `register_tool(rust_gpu)` attribute to shader crates * Updated docs * Added changelog
17 lines
533 B
Rust
17 lines
533 B
Rust
// build-pass
|
|
// compile-flags: -Ctarget-feature=+RayQueryKHR,+ext:SPV_KHR_ray_query
|
|
|
|
use glam::Vec3;
|
|
use spirv_std::ray_tracing::{AccelerationStructure, RayFlags, RayQuery};
|
|
use spirv_std::spirv;
|
|
|
|
#[spirv(fragment)]
|
|
pub fn main(#[spirv(descriptor_set = 0, binding = 0)] accel: &AccelerationStructure) {
|
|
unsafe {
|
|
spirv_std::ray_query!(let mut handle);
|
|
handle.initialize(accel, RayFlags::NONE, 0, Vec3::ZERO, 0.0, Vec3::ZERO, 0.0);
|
|
assert!(handle.proceed());
|
|
handle.confirm_intersection();
|
|
}
|
|
}
|