INNER CODE UNIT · Rust
spirv_cross_specialize_ast
gfx-rs/gfx · src/auxil/auxil/src/lib.rs:99
pub fn spirv_cross_specialize_ast<T>(
ast: &mut spirv::Ast<T>,
specialization: &hal::pso::Specialization,
) -> Result<(), String>
where
T: spirv::Target,
spirv::Ast<T>: spirv::Compile<T> + spirv::Parse<T>,
{
let spec_constants = ast
.get_specialization_constants()
.map_err(|err| match err {
spirv_cross::ErrorCode::CompilationError(msg) => msg,
spirv_cross::ErrorCode::Unhandled => "Unexpected specialization constant error".into(),
})?;
for spec_constant in spec_constants {
if let Some(constant) = specialization
.constants