summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorccummingsNV <ccummings@nvidia.com>2024-07-26 21:02:22 +0100
committerGitHub <noreply@github.com>2024-07-26 13:02:22 -0700
commita266cbfe961f7f7bc80efc4f6c137e8771cb62c6 (patch)
tree305d6605c9e991fc6e13a0e2559bb9dbae93fc0b
parenta4eac09102336e082823217ebb01402880ab2823 (diff)
Add reflection of inout modifiers (#4711)
-rw-r--r--include/slang.h10
-rw-r--r--source/slang/slang-reflection-api.cpp9
2 files changed, 17 insertions, 2 deletions
diff --git a/include/slang.h b/include/slang.h
index ec8cb0984..edcaa8a3f 100644
--- a/include/slang.h
+++ b/include/slang.h
@@ -2412,7 +2412,10 @@ extern "C"
SLANG_MODIFIER_EXPORT,
SLANG_MODIFIER_EXTERN,
SLANG_MODIFIER_DIFFERENTIABLE,
- SLANG_MODIFIER_MUTATING
+ SLANG_MODIFIER_MUTATING,
+ SLANG_MODIFIER_IN,
+ SLANG_MODIFIER_OUT,
+ SLANG_MODIFIER_INOUT
};
// User Attribute
@@ -3327,7 +3330,10 @@ namespace slang
Export = SLANG_MODIFIER_EXPORT,
Extern = SLANG_MODIFIER_EXTERN,
Differentiable = SLANG_MODIFIER_DIFFERENTIABLE,
- Mutating = SLANG_MODIFIER_MUTATING
+ Mutating = SLANG_MODIFIER_MUTATING,
+ In = SLANG_MODIFIER_IN,
+ Out = SLANG_MODIFIER_OUT,
+ InOut = SLANG_MODIFIER_INOUT
};
};
diff --git a/source/slang/slang-reflection-api.cpp b/source/slang/slang-reflection-api.cpp
index 88caf67be..a212f0d1b 100644
--- a/source/slang/slang-reflection-api.cpp
+++ b/source/slang/slang-reflection-api.cpp
@@ -2630,6 +2630,15 @@ SLANG_API SlangReflectionModifier* spReflectionVariable_FindModifier(SlangReflec
case SLANG_MODIFIER_MUTATING:
modifier = var->findModifier<MutatingAttribute>();
break;
+ case SLANG_MODIFIER_IN:
+ modifier = var->findModifier<InModifier>();
+ break;
+ case SLANG_MODIFIER_OUT:
+ modifier = var->findModifier<OutModifier>();
+ break;
+ case SLANG_MODIFIER_INOUT:
+ modifier = var->findModifier<InOutModifier>();
+ break;
default:
return nullptr;
}