diff options
| author | Yong He <yonghe@outlook.com> | 2025-01-31 05:02:26 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-31 21:02:26 +0800 |
| commit | eebe849075c21d163739cbc5e976e7b5b6837e7f (patch) | |
| tree | ec3fd562da49385fbd5d4a6deebac78b9fe74c09 /source/slang-glsl-module | |
| parent | ae778e3424b39cbeb1f367339f654560de416d30 (diff) | |
Distribute slang-glsl-module.bin in release packages. (#6233)
* Distribute slang-glsl-module.bin in release packages.
* Fix.
* fix2.
* Build glsl modlue into a dll.
Diffstat (limited to 'source/slang-glsl-module')
| -rw-r--r-- | source/slang-glsl-module/CMakeLists.txt | 39 | ||||
| -rw-r--r-- | source/slang-glsl-module/slang-embedded-glsl-module.cpp | 17 |
2 files changed, 56 insertions, 0 deletions
diff --git a/source/slang-glsl-module/CMakeLists.txt b/source/slang-glsl-module/CMakeLists.txt new file mode 100644 index 000000000..d42b31ee6 --- /dev/null +++ b/source/slang-glsl-module/CMakeLists.txt @@ -0,0 +1,39 @@ +# +# Generate an embeddable glsl module +# + +set(glsl_module_generated_header_dir ${CMAKE_CURRENT_BINARY_DIR}) +set(glsl_module_generated_header + ${glsl_module_generated_header_dir}/slang-glsl-module-generated.h +) +add_custom_command( + OUTPUT ${glsl_module_generated_header} + COMMAND + slang-bootstrap -archive-type riff-lz4 -save-glsl-module-bin-source + ${glsl_module_generated_header} + DEPENDS slang-bootstrap + VERBATIM +) + +set(glsl_module_common_args + . + MODULE + FOLDER + generated + LINK_WITH_PRIVATE + core + USE_EXTRA_WARNINGS + EXPLICIT_SOURCE + ./slang-embedded-glsl-module.cpp +) + +slang_add_target( + ${glsl_module_common_args} + TARGET_NAME slang-glsl-module + EXCLUDE_FROM_ALL + EXTRA_COMPILE_DEFINITIONS_PRIVATE SLANG_SHARED_LIBRARY_TOOL + EXPORT_SET_NAME SlangTargets + EXPLICIT_SOURCE ${glsl_module_generated_header} + INCLUDE_DIRECTORIES_PRIVATE ${glsl_module_generated_header_dir} + INSTALL +) diff --git a/source/slang-glsl-module/slang-embedded-glsl-module.cpp b/source/slang-glsl-module/slang-embedded-glsl-module.cpp new file mode 100644 index 000000000..7435f1edb --- /dev/null +++ b/source/slang-glsl-module/slang-embedded-glsl-module.cpp @@ -0,0 +1,17 @@ +#include "../core/slang-array-view.h" +#include "../core/slang-basic.h" +#include "../core/slang-blob.h" + +static const uint8_t g_glslModule[] = { +#include "slang-glsl-module-generated.h" +}; + +static Slang::StaticBlob g_glslModuleBlob((const void*)g_glslModule, sizeof(g_glslModule)); + +extern "C" +{ + SLANG_DLL_EXPORT ISlangBlob* slang_getEmbeddedModule() + { + return &g_glslModuleBlob; + } +} |
