summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-ir-inline.cpp2
-rw-r--r--source/slang/slang-ir-specialize-resources.cpp9
2 files changed, 6 insertions, 5 deletions
diff --git a/source/slang/slang-ir-inline.cpp b/source/slang/slang-ir-inline.cpp
index 5479a98ff..fd9ec495b 100644
--- a/source/slang/slang-ir-inline.cpp
+++ b/source/slang/slang-ir-inline.cpp
@@ -861,6 +861,8 @@ struct GLSLResourceReturnFunctionInliningPass : InliningPassBase
auto outValueType = outType->getValueType();
if (isResourceType(outValueType))
return true;
+ if (isIllegalGLSLParameterType(outValueType))
+ return true;
}
return false;
}
diff --git a/source/slang/slang-ir-specialize-resources.cpp b/source/slang/slang-ir-specialize-resources.cpp
index 1a96389cb..839e5e08e 100644
--- a/source/slang/slang-ir-specialize-resources.cpp
+++ b/source/slang/slang-ir-specialize-resources.cpp
@@ -355,11 +355,6 @@ struct ResourceOutputSpecializationPass
if(as<IRSamplerStateTypeBase>(type))
return true;
- if(as<IRHitObjectType>(type))
- return true;
- if(as<IRRayQueryType>(type))
- return true;
-
// TODO: more cases here?
return false;
@@ -1233,6 +1228,10 @@ bool isIllegalGLSLParameterType(IRType* type)
}
if (as<IRMeshOutputType>(type))
return true;
+ if (as<IRRayQueryType>(type))
+ return true;
+ if (as<IRHitObjectType>(type))
+ return true;
return false;
}