diff --git a/wgpu/src/macros.rs b/wgpu/src/macros.rs index c15c1a7850..a616ee7953 100644 --- a/wgpu/src/macros.rs +++ b/wgpu/src/macros.rs @@ -57,3 +57,18 @@ macro_rules! include_spirv { } }; } + +/// Macro to load a WGSL module statically. +#[macro_export] +macro_rules! include_wgsl { + ($($token:tt)*) => { + { + //log::info!("including '{}'", $($token)*); + $crate::ShaderModuleDescriptor { + label: Some($($token)*), + source: $crate::ShaderSource::Wgsl(include_str!($($token)*).into()), + flags: $crate::ShaderFlags::all(), + } + } + }; +}