use crate::error::ShaderReflectError;
use semantics::ShaderSemantics;
#[cfg(feature = "cross")]
pub mod cross;
#[cfg(feature = "naga")]
pub mod naga;
pub mod semantics;
pub mod presets;
mod helper;
pub trait ReflectShader {
fn reflect(
&mut self,
pass_number: usize,
semantics: &ShaderSemantics,
) -> Result<ShaderReflection, ShaderReflectError>;
fn validate(&mut self) -> Result<(), ShaderReflectError>;
}
pub use semantics::ShaderReflection;
#[inline(always)]
const fn align_uniform_size(size: u32) -> u32 {
(size + 0xf) & !0xf
}