summaryrefslogtreecommitdiff
path: root/source/slang/slang-parameter-binding.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-parameter-binding.cpp')
-rw-r--r--source/slang/slang-parameter-binding.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/slang/slang-parameter-binding.cpp b/source/slang/slang-parameter-binding.cpp
index 523ba9287..bce9b5d05 100644
--- a/source/slang/slang-parameter-binding.cpp
+++ b/source/slang/slang-parameter-binding.cpp
@@ -2185,9 +2185,11 @@ static RefPtr<TypeLayout> processEntryPointVaryingParameter(
state,
fieldVarLayout);
- SLANG_ASSERT(fieldTypeLayout);
- if(!fieldTypeLayout)
+ if (!fieldTypeLayout)
+ {
+ getSink(context)->diagnose(field, Diagnostics::notValidVaryingParameter, field);
continue;
+ }
fieldVarLayout->typeLayout = fieldTypeLayout;
// The field needs to have offset information stored
@@ -4169,6 +4171,9 @@ ProgramLayout* TargetProgram::getOrCreateLayout(DiagnosticSink* sink)
if( !m_layout )
{
m_layout = generateParameterBindings(this, sink);
+ if (sink->getErrorCount() != 0)
+ return nullptr;
+
if( m_layout )
{
m_irModuleForLayout = createIRModuleForLayout(sink);