mod arguments;
mod buffer;
mod command;
mod device;
mod image;
mod instance;
mod queue;
mod render;
mod sampler;
mod shader;
mod surface;
pub struct Tlas;
pub struct Blas;
pub struct ComputePipeline;
pub use self::{
buffer::Buffer,
command::{
AccelerationStructureCommandEncoder, CommandBuffer, CommandEncoder, ComputeCommandEncoder,
CopyCommandEncoder, RenderCommandEncoder,
},
device::Device,
image::Image,
instance::Instance,
queue::Queue,
render::RenderPipeline,
sampler::Sampler,
shader::Library,
surface::{Frame, Surface},
};
#[doc(hidden)]
pub mod for_macro {
pub use super::arguments::{Arguments, ArgumentsField};
}
unsafe fn impudent_hash(val: &wasm_bindgen::JsValue, hasher: &mut impl std::hash::Hasher) {
unsafe {
const {
assert!(std::mem::size_of::<wasm_bindgen::JsValue>() == std::mem::size_of::<u32>());
assert!(std::mem::align_of::<wasm_bindgen::JsValue>() >= std::mem::align_of::<u32>());
}
let handle: u32 = std::mem::transmute_copy(val);
hasher.write_u32(handle);
}
}