diff options
| author | tareksander <57038324+tareksander@users.noreply.github.com> | 2024-11-11 20:32:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-11 11:32:00 -0800 |
| commit | 7e51180ed80ce1c5718b65c6625dc12fe64c8bfa (patch) | |
| tree | 6a6451b388d52ba01e8b4190dc498b435c5ea978 /source/slang/slang-options.cpp | |
| parent | 98dab05e80a90ddf64c9d31420a3b49ec49e31d1 (diff) | |
Reflection compiler option (#5507)
* Moved the pretty writer code from slang-reflection-test into core
* Moved reflection test code into the slang codebase and added the compiler option -reflection-json to store the reflection data in a separate file.
* Documented -reflection-json command line option
* moved PrettyWriter from core to compiler-core
* Fixed variable shadowing warning
* Use File::writeAllText instead of OSFilesystem and write to stdout if - is used as the path
* format code
* Fixed linker error
* Fix COM Ptr life time issues.
* Move enum to the end.
* Fix formatting.
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/slang/slang-options.cpp')
| -rw-r--r-- | source/slang/slang-options.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/slang/slang-options.cpp b/source/slang/slang-options.cpp index 9353acd35..681999168 100644 --- a/source/slang/slang-options.cpp +++ b/source/slang/slang-options.cpp @@ -524,8 +524,13 @@ void initCommandOptions(CommandOptions& options) nullptr, "Preserve all resource parameters in the output code, even if they are not used by the " "shader."}, + {OptionKind::EmitReflectionJSON, + "-reflection-json", + "reflection-json <path>", + "Emit reflection data in JSON format to a file."}, }; + _addOptions(makeConstArrayView(generalOpts), options); /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Target !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ @@ -2663,6 +2668,14 @@ SlangResult OptionsParser::_parse(int argc, char const* const* argv) addOutputPath(outputPath.value.getBuffer()); break; } + case OptionKind::EmitReflectionJSON: + { + CommandLineArg outputPath; + SLANG_RETURN_ON_FAIL(m_reader.expectArg(outputPath)); + + linkage->m_optionSet.set(CompilerOptionName::EmitReflectionJSON, outputPath.value); + break; + } case OptionKind::DepFile: { CommandLineArg dependencyPath; |
