use crate::error::ShaderReflectError; use crate::reflect::semantics::{ SemanticMap, TextureImage, TextureSemantics, TextureSizeMeta, VariableMeta, VariableSemantics, }; use rustc_hash::FxHashMap; use semantics::ReflectSemantics; pub mod cross; pub mod semantics; #[cfg(feature = "unstable-rust-pipeline")] mod naga; #[cfg(feature = "unstable-rust-pipeline")] mod rspirv; pub trait ReflectShader { fn reflect( &mut self, pass_number: usize, semantics: &ReflectSemantics, ) -> Result; } #[derive(Debug, Default)] pub struct ReflectMeta { pub parameter_meta: FxHashMap, pub variable_meta: FxHashMap, pub texture_meta: FxHashMap, TextureImage>, pub texture_size_meta: FxHashMap, TextureSizeMeta>, } pub use semantics::ShaderReflection;