summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-specialize-dynamic-associatedtype-lookup.h
blob: 83039eca54c84ca76dead110678ddc921f855818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// slang-ir-specialize-dynamic-associatedtype-lookup.h
#pragma once

namespace Slang
{
struct SharedGenericsLoweringContext;

/// Modifies the lookup of associatedtype entries from witness tables into
/// calls to a specialized "lookup" function that takes a witness table id
/// and returns a witness table id.
/// This is used on GPU targets where all witness tables are replaced as
/// integral IDs instead of a real pointer table.
void specializeDynamicAssociatedTypeLookup(SharedGenericsLoweringContext* sharedContext);

} // namespace Slang