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

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…