diff options
Diffstat (limited to 'source/compiler-core')
| -rw-r--r-- | source/compiler-core/slang-artifact-info.cpp | 6 | ||||
| -rw-r--r-- | source/compiler-core/slang-artifact-info.h | 6 | ||||
| -rw-r--r-- | source/compiler-core/slang-artifact.cpp | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/source/compiler-core/slang-artifact-info.cpp b/source/compiler-core/slang-artifact-info.cpp index 1b9209516..b67adb666 100644 --- a/source/compiler-core/slang-artifact-info.cpp +++ b/source/compiler-core/slang-artifact-info.cpp @@ -152,6 +152,12 @@ static const KindExtension g_cpuKindExts[] = return info.isSet(ArtifactPayloadInfo::Flag::IsGpuNative) && info.flavor == ArtifactPayloadInfo::Flavor::Binary; } +/* static */bool ArtifactInfoUtil::isPayloadCpuTarget(Payload payload) +{ + return isPayloadCpuBinary(payload) || + (payload == Payload::C || payload == Payload::CPP); +} + /* static */UnownedStringSlice ArtifactInfoUtil::getDefaultExtensionForPayload(Payload payload) { switch (payload) diff --git a/source/compiler-core/slang-artifact-info.h b/source/compiler-core/slang-artifact-info.h index 1db3712dc..e63349937 100644 --- a/source/compiler-core/slang-artifact-info.h +++ b/source/compiler-core/slang-artifact-info.h @@ -67,6 +67,12 @@ struct ArtifactInfoUtil /// Returns true if the payload type is applicable to the GPU static bool isPayloadGpuBinary(Payload payload); + /// True if is a CPU target + static bool isPayloadCpuTarget(Payload payload); + + /// True if is a CPU target - either + static bool isCpuTarget(const ArtifactDesc& desc) { return isPayloadCpuTarget(desc.payload); } + /// True if is a CPU binary static bool isCpuBinary(const ArtifactDesc& desc) { return isPayloadCpuBinary(desc.payload); } /// True if is a GPU binary diff --git a/source/compiler-core/slang-artifact.cpp b/source/compiler-core/slang-artifact.cpp index dfa9e645b..5e5b93578 100644 --- a/source/compiler-core/slang-artifact.cpp +++ b/source/compiler-core/slang-artifact.cpp @@ -38,6 +38,7 @@ namespace Slang { case SLANG_CUDA_SOURCE: return make(Kind::Text, Payload::CUDA, Style::Kernel, 0); case SLANG_PTX: return make(Kind::Executable, Payload::PTX, Style::Kernel, 0); case SLANG_OBJECT_CODE: return make(Kind::ObjectCode, Payload::HostCPU, Style::Kernel, 0); + case SLANG_HOST_HOST_CALLABLE: return make(Kind::Callable, Payload::HostCPU, Style::Host, 0); default: break; } |
