summaryrefslogtreecommitdiffstats
path: root/source/core/slang-shared-library.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2019-12-12 11:39:19 -0500
committerGitHub <noreply@github.com>2019-12-12 11:39:19 -0500
commit6e6a876a6b5ad3d2ef402757d2e20641f5a2b49b (patch)
tree29eab69c4982537376d7eaf422d9090c849e95f7 /source/core/slang-shared-library.h
parent79ec0cfdb5f3461c763e0bf712cf42eb87fccb90 (diff)
Slang compiles CUDA source via NVRTC (#1151)
* CPPCompiler -> DownstreamCompiler * Added DownstreamCompileResult to start abstraction such that we don't need files. * * Split out slang-blob.cpp * Made CompileResult hold a DownstreamCompileResult - for access to binary or ISlangSharedLibrary * Keep temporary files in scope. * Add a hash to the hex dump stream. * Move all file tracking into DownstreamCompiler. * WIP support for nvrtc. * WIP: Adding support for nvrtc compiler. Adding enum types, wiring up the nvrtc into slang. * Fix remaining CPPCompiler references. * Fix order issue on target string matching. * Use ISlangSharedLibrary for nvrtc. * Use DownstreamCompiler for nvrtc. * WIP first pass at compilation win nvrtc. * Added testing if file is on file system into CommandLineDownstreamCompiler. Added sourceContentsPath. * Make test cuda-compile.cu work by just compiling not comparing output. * Fix warning on clang.
Diffstat (limited to 'source/core/slang-shared-library.h')
-rw-r--r--source/core/slang-shared-library.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/core/slang-shared-library.h b/source/core/slang-shared-library.h
index 517292908..9c58d4e10 100644
--- a/source/core/slang-shared-library.h
+++ b/source/core/slang-shared-library.h
@@ -21,6 +21,7 @@ enum class SharedLibraryType
Fxc, ///< Fxc compiler
Glslang, ///< Slang specific glslang compiler
Dxil, ///< Dxil is used with dxc
+ NVRTC, ///< Nvrtc compiler
CountOf,
};
@@ -36,7 +37,9 @@ public:
// ISlangSharedLibraryLoader
virtual SLANG_NO_THROW SlangResult SLANG_MCALL loadSharedLibrary(const char* path,
- ISlangSharedLibrary** sharedLibraryOut) SLANG_OVERRIDE;
+ ISlangSharedLibrary** outSharedLibrary) SLANG_OVERRIDE;
+
+ SlangResult loadPlatformSharedLibrary(const char* path, ISlangSharedLibrary** outSharedLibrary);
/// Get the singleton
static DefaultSharedLibraryLoader* getSingleton() { return &s_singleton; }