summaryrefslogtreecommitdiff
path: root/source/slang/slang-capability.h
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2025-02-06 22:02:43 -0800
committerGitHub <noreply@github.com>2025-02-06 22:02:43 -0800
commitbae87afb20f95f9f27c64c4955bbc4464c576509 (patch)
tree44d079bd76002d69be20efdbd03ac6ff62ef8caf /source/slang/slang-capability.h
parent075b10e69055acc6536d74c1cb3399e0fe75338d (diff)
Support stage_switch. (#6311)
* Support stage_switch. * Update proposal status. * Fix gl_InstanceID. * Fix.
Diffstat (limited to 'source/slang/slang-capability.h')
-rw-r--r--source/slang/slang-capability.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/slang/slang-capability.h b/source/slang/slang-capability.h
index 631cd307a..7c429d825 100644
--- a/source/slang/slang-capability.h
+++ b/source/slang/slang-capability.h
@@ -169,6 +169,9 @@ public:
/// Return a capability set of 'target' atoms 'this' has, but 'other' does not.
CapabilitySet getTargetsThisHasButOtherDoesNot(const CapabilitySet& other);
+ /// Return a capability set of 'stage' atoms 'this' has, but 'other' does not.
+ CapabilitySet getStagesThisHasButOtherDoesNot(const CapabilitySet& other);
+
/// Are these two capability sets equal?
bool operator==(CapabilitySet const& that) const;
@@ -359,7 +362,7 @@ void getCapabilityNames(List<UnownedStringSlice>& ioNames);
UnownedStringSlice capabilityNameToString(CapabilityName name);
bool isDirectChildOfAbstractAtom(CapabilityAtom name);
-
+bool isStageAtom(CapabilityName name, CapabilityName& outCanonicalStage);
/// Return true if `name` represents an atom for a target version, e.g. spirv_1_5.
bool isTargetVersionAtom(CapabilityAtom name);