https://github.com/shader-slang/slang
Raw File
Tip revision: d7ba60c993366b4aaf6ef8ee7d8eab940d61eac8 authored by Yong He on 03 April 2023, 03:43:09 UTC
Fix type legalization pass. (#2768)
Tip revision: d7ba60c
slang-ir-lower-generic-function.h
// slang-ir-lower-generic-function.h
#pragma once

namespace Slang
{
    struct SharedGenericsLoweringContext;

    /// Lower generic and interface-based code to ordinary types and functions using
    /// dynamic dispatch mechanisms.
    /// After this pass, generic type parameters will be lowered into `AnyValue` types,
    /// and an existential type I in function signatures will be lowered into
    /// `Tuple<AnyValue, WintessTable(I), RTTI*>`.
    /// Note that this pass mostly deals with function signatures and interface definitions,
    /// and does not modify function bodies.
    /// All variable declarations and type uses are handled in `lower-generic-type`,
    /// and all call sites are handled in `lower-generic-call`.
    void lowerGenericFunctions(
        SharedGenericsLoweringContext* sharedContext);

}
back to top