<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang/slang-options.h, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2025-03-12T07:55:19+00:00</updated>
<entry>
<title>Add referenced modules as libraries when creating a session (#6569)</title>
<updated>2025-03-12T07:55:19+00:00</updated>
<author>
<name>Anders Leino</name>
<email>aleino@nvidia.com</email>
</author>
<published>2025-03-12T07:55:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7a942cfdc338d199b8e775d16b0b9b49699363d7'/>
<id>urn:sha1:7a942cfdc338d199b8e775d16b0b9b49699363d7</id>
<content type='text'>
In the legacy compile request based API, the referenced modules are added to the request's
linkage libraries as part of compiler option parsing.
In the non-legacy compilation API, the argument parsing creates a temprary compile request
and so those libraries only survive as options.

This change will look for such options when creating an ISession object, and again add the
referenced modules to the libraries of the new linkage that's contained in the ISession
object.

This is done in two steps:

1. Factor out a helper to create a referenced module artifact in the same way as it's done
   during legacy option parsing.
2. Use the helper function to create artifacts to add to the linkage libararies, when the
   session is created.

This helps to address issue #4760, because it enables passing in downstream modules via
options, as is required for the following tests:

tests/library/library-test.slang.2 (dx12)
tests/library/export-test.slang.2 (dx12)</content>
</entry>
<entry>
<title>format</title>
<updated>2024-10-29T06:49:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-29T06:49:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21'/>
<id>urn:sha1:f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21</id>
<content type='text'>
* format

* Minor test fixes

* enable checking cpp format in ci</content>
</entry>
<entry>
<title>Add slangc option to specialize entrypoint + auto glsl mode. (#3531)</title>
<updated>2024-02-01T07:53:28+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-02-01T07:53:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a2d2018a8be41aecd2c1810db8556e0c07595fb9'/>
<id>urn:sha1:a2d2018a8be41aecd2c1810db8556e0c07595fb9</id>
<content type='text'>
* Add slangc option to specialize entrypoint.

* Auto enable glsl mode when input file has glsl extension name.

* Fix test.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>CommandOptions (#2856)</title>
<updated>2023-04-29T13:24:26+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-04-29T13:24:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=19c0866b050a022406867aa650302f4efbf8e010'/>
<id>urn:sha1:19c0866b050a022406867aa650302f4efbf8e010</id>
<content type='text'>
* WIP CommandOptions

* Fix some output issues.

* Simplify word wrapping.

* Add file extensions.

* Change how lookup takes place.
Add appendSplit functions to StringUtil.
Make Categories hold the index range of their options.

* Small improvement.

* Lookup with partial option names.

* Associate user values.

* Encoding flags in the name.

* Refactor setting up of command options.

* Use CommandOptions in slang-options.

* Remove old help text.

* Cache the CommandOptions on the Session.

* Range checking.
Fix bug in the Options handling.

* Extra checks for validity.

* Get categories directly.

* Slight improvements over output.

* Added NameValue types.

* Fix typo.
Remove some now unused diagnostics.
Fix diagnostic in testing, as output has changed.

* Add minimal usage message.

* Remove platform executable extension from diagnostics output.

* Some improvements around getting names from NameValue types.

* Improve some option descriptions.

* Small fixes.</content>
</entry>
<entry>
<title>Make SlangCompileRequest COM type (#1620)</title>
<updated>2020-12-01T22:29:01+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-12-01T22:29:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=200e236d64a02d9e85cb4a459477e073b81f5182'/>
<id>urn:sha1:200e236d64a02d9e85cb4a459477e073b81f5182</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* WIP for COM CompileRequest.

* Add more methods to IGlobalSession.

* Fix createCompileRequest.
Made slangc tool use COM style methods.

* m_ prefix variables in EndToEndCompileRequest</content>
</entry>
<entry>
<title>Feature/source downstream compiler (#1153)</title>
<updated>2019-12-12T21:14:27+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2019-12-12T21:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a2d4d447639a1860f9de4ba9e2435f1d40ff3669'/>
<id>urn:sha1:a2d4d447639a1860f9de4ba9e2435f1d40ff3669</id>
<content type='text'>
* CPPCompiler -&gt; 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.

* Genearlize DownstreamCompiler usage.

* Fix warning on clang.

* Remove CompilerType from DownstreamCompiler.

* Use DownstreamCompiler interface for all compilers.

NOTE for FXC, DXC and GLSLANG this doesn't mean using 'compile' - it's still extracting functions from shared library.

* Replace DownstreamCompiler::SourceType -&gt; SlangSourceLanguage

* Replace _canCompile with something data driven.

* Fix compiling on gcc/clang for DownstreamCompiler.

* Moved some text conversions into DownstreamCompiler.

* Fix problem on non-vc builds with not having return on locateCompilers for VS.

* Change so no warning for code not reachable on locateCompilers for vs.
</content>
</entry>
<entry>
<title>-extract-repro gives approximation of 'command line' used (#1103)</title>
<updated>2019-11-01T14:31:01+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2019-11-01T14:31:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=068f2a2552ba49335a8a1e72e1731d047335fe82'/>
<id>urn:sha1:068f2a2552ba49335a8a1e72e1731d047335fe82</id>
<content type='text'>
* Added feature to repro manifest of approximation of command line that was used.

* Add missing slang-options.h
</content>
</entry>
</feed>
