summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/slang.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/include/slang.h b/include/slang.h
index 81b3ac1cb..6e4ab6250 100644
--- a/include/slang.h
+++ b/include/slang.h
@@ -5601,13 +5601,34 @@ namespace slang
SlangInt32 index) = 0;
virtual SLANG_NO_THROW DeclReflection* SLANG_MCALL getModuleReflection() = 0;
+ };
+
+ #define SLANG_UUID_IModule IModule::getTypeGuid()
+
+ /* Experimental interface for doing target precompilation of slang modules */
+ struct IModulePrecompileService_Experimental : public ISlangUnknown
+ {
+ //uuidgen output: 8e12e8e3 - 5fcd - 433e - afcb - 13a088bc5ee5
+ SLANG_COM_INTERFACE(0x8e12e8e3, 0x5fcd, 0x433e, { 0xaf, 0xcb, 0x13, 0xa0, 0x88, 0xbc, 0x5e, 0xe5 })
virtual SLANG_NO_THROW SlangResult SLANG_MCALL precompileForTarget(
SlangCompileTarget target,
ISlangBlob** outDiagnostics) = 0;
+
+ virtual SLANG_NO_THROW SlangResult SLANG_MCALL getPrecompiledTargetCode(
+ SlangCompileTarget target,
+ IBlob** outCode,
+ IBlob** outDiagnostics = nullptr) = 0;
+
+ virtual SLANG_NO_THROW SlangInt SLANG_MCALL getModuleDependencyCount() = 0;
+
+ virtual SLANG_NO_THROW SlangResult SLANG_MCALL getModuleDependency(
+ SlangInt dependencyIndex,
+ IModule** outModule,
+ IBlob** outDiagnostics = nullptr) = 0;
};
-
- #define SLANG_UUID_IModule IModule::getTypeGuid()
+
+ #define SLANG_UUID_IModulePrecompileService_Experimental IModulePrecompileService_Experimental::getTypeGuid()
/** Argument used for specialization to types/values.
*/