summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-check-impl.h4
-rw-r--r--source/slang/slang-compiler-tu.cpp3
2 files changed, 7 insertions, 0 deletions
diff --git a/source/slang/slang-check-impl.h b/source/slang/slang-check-impl.h
index 63c16e6d2..2f3eae0c5 100644
--- a/source/slang/slang-check-impl.h
+++ b/source/slang/slang-check-impl.h
@@ -38,6 +38,10 @@ namespace Slang
bool isUniformParameterType(Type* type);
+ /// Create a new component type based on `inComponentType`, but with all its requiremetns filled.
+ RefPtr<ComponentType> fillRequirements(
+ ComponentType* inComponentType);
+
Type* checkProperType(
Linkage* linkage,
TypeExp typeExp,
diff --git a/source/slang/slang-compiler-tu.cpp b/source/slang/slang-compiler-tu.cpp
index 8ae06a419..49595117d 100644
--- a/source/slang/slang-compiler-tu.cpp
+++ b/source/slang/slang-compiler-tu.cpp
@@ -6,6 +6,7 @@
#include "slang-ir-insts.h"
#include "slang-ir-util.h"
#include "slang-capability.h"
+#include "slang-check-impl.h"
namespace Slang
{
@@ -117,6 +118,8 @@ namespace Slang
linkage,
allComponentTypes);
+ composite = fillRequirements(composite);
+
TargetProgram tp(composite, targetReq);
tp.getOrCreateLayout(&sink);
Slang::Index const entryPointCount = m_entryPoints.getCount();