librashader_reflect/reflect/
mod.rs1use crate::error::ShaderReflectError;
2use semantics::ShaderSemantics;
3
4pub mod cross;
6
7pub mod semantics;
9
10pub mod presets;
12
13mod helper;
14
15#[cfg(feature = "naga")]
17pub mod naga;
18
19pub trait ReflectShader {
21 fn reflect(
24 &mut self,
25 pass_number: usize,
26 semantics: &ShaderSemantics,
27 ) -> Result<ShaderReflection, ShaderReflectError>;
28
29 fn validate(&mut self) -> Result<(), ShaderReflectError>;
31}
32
33pub use semantics::ShaderReflection;
34
35#[inline(always)]
36const fn align_uniform_size(size: u32) -> u32 {
38 (size + 0xf) & !0xf
39}