diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/slang-ir-inline.cpp | 2 | ||||
| -rw-r--r-- | source/slang/slang-ir-specialize-resources.cpp | 9 |
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; } |
