<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang-record-replay/replay/slang-decoder.cpp, 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-08-21T18:42:49+00:00</updated>
<entry>
<title>Add record and replay support for IComponentType2 (#8215)</title>
<updated>2025-08-21T18:42:49+00:00</updated>
<author>
<name>jarcherNV</name>
<email>jarcher@nvidia.com</email>
</author>
<published>2025-08-21T18:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a5e6ddd006ecf72ad9a41961811e93e1e2f72e64'/>
<id>urn:sha1:a5e6ddd006ecf72ad9a41961811e93e1e2f72e64</id>
<content type='text'>
Add record and replay support for the IComponentType2 struct and its
functions getTargetCompileResult and getEntryPointCompileResult.</content>
</entry>
<entry>
<title>Cache and reuse glsl module. (#6152)</title>
<updated>2025-01-22T17:40:15+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-01-22T17:40:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=8000e0ede34e920cc7f37d69a335d74a472eff42'/>
<id>urn:sha1:8000e0ede34e920cc7f37d69a335d74a472eff42</id>
<content type='text'>
* Cache and reuse glsl module.

* Fix.

* Implement record/replay for the new api.

* Fix record replay.

* Fix test.</content>
</entry>
<entry>
<title>Move switch statement bodies to their own lines (#5493)</title>
<updated>2024-11-05T17:47:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-11-05T17:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b118451e301d734e3e783b3acdf871f3f6ea851c'/>
<id>urn:sha1:b118451e301d734e3e783b3acdf871f3f6ea851c</id>
<content type='text'>
* Move switch statement bodies to their own lines

* format

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</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>Replace stdlib on Slang API with CoreModule (#5405)</title>
<updated>2024-10-25T17:14:22+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2024-10-25T17:14:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4bad669bbc5ec3ff77321f083c59cde87eb10229'/>
<id>urn:sha1:4bad669bbc5ec3ff77321f083c59cde87eb10229</id>
<content type='text'>
This is a breaking change in a way that the Slang API function names are changed. All of them are commented as "experimental" and we wouldn't provide a back-ward compatibility for them.

Following functions are renamed:

compileStdLib() -&gt; compileCoreModule()
loadStdLib() -&gt; loadCoreModule()
saveStdLib() -&gt; saveCoreModule()
slang_createGlobalSessionWithoutStdLib() -&gt; slang_createGlobalSessionWithoutCoreModule()
slang_getEmbeddedStdLib() -&gt; slang_getEmbeddedCoreModule()
hasDeferredStdLib() -&gt; hasDeferredCoreModule()
Following command-line arguments are renamed:

"-load-stdlib" -&gt; "-load-core-module"
"-save-stdlib" -&gt; "-save-core-module"
"-save-stdlib-bin-source" -&gt; "-save-core-module-bin-source"
"-compile-stdlib" -&gt; "-compile-core-module"</content>
</entry>
<entry>
<title>Migrate examples (#4920)</title>
<updated>2024-08-27T16:53:16+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-08-27T16:53:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=59c23b96b3649e77f5428c32e47b4401a802c604'/>
<id>urn:sha1:59c23b96b3649e77f5428c32e47b4401a802c604</id>
<content type='text'>
* Migrate cpu-hello-world to new slang API

    Migrate cpu-hello-world to new slang API, and also convert this example
    as one of the unit test.

* Add 'shader-object' to slang-unit-test

* Convert ray-tracing example into unit-test

    Convert ray-tracing example into unit-test

* Fix some replay bugs:
  - Wrong decode type in 'getEntryPointHostCallable'.
  - Mistakes in computing the output buffer size.
  - Wrong decode type in array size in specialize() call.
  - When capture entrypoint, we should increase the reference count
     for the allocated entrypoint recorder object, because that is
     allocated by record layer, it should be owned by the layer, user
     should not be able to free it.
  - Improve json consumer on the prelude text.

* Test verify change:
In our test, we add a "callIdx" string at beginning of the hash-code
string, as there could be more than one modules in the example, so they
could call 'getEntryPointHash' multiple times, in order for the test
can identify them, add "callIdx: &lt;number&gt;" as the key word.</content>
</entry>
<entry>
<title>Feature/replayer (#4750)</title>
<updated>2024-07-31T20:03:27+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-07-31T20:03:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=bab4b821dc6bcee4ff86751743762584c17e9103'/>
<id>urn:sha1:bab4b821dc6bcee4ff86751743762584c17e9103</id>
<content type='text'>
* record/replay: Implement the json consumer

Finish the implementation of json consumer.

Fix some bug in the block processing as Tailer is not a necessary block
so if the Magic bit is "HEAD", we should keep processing.

* record/replay: Implement the replayer component

Implement the replayer consumer, and also finish the slang-replay
standalone app that will run the while replayer.

It can take an option "--convert-json | -cj" which will convert
the record binary file to a human readable json file.

If there is no option provided, it will replay the record file by
default.

TODO: #4764 is created to remove the std::filesystem usage.</content>
</entry>
<entry>
<title>Feature/capture (#4625)</title>
<updated>2024-07-23T15:45:26+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-07-23T15:45:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=986256ffb92ab7c8fc7cf9f2c424919a439a824f'/>
<id>urn:sha1:986256ffb92ab7c8fc7cf9f2c424919a439a824f</id>
<content type='text'>
* Add decoder

* Add a replay executable to consume the decoded content

Add file-processor.cpp/h where we implement the logic to process
the captured file block by block. Each block is:
function header + parameter buffer + function tailer + function
output[optional].

After reading one block, the block of data is sent to decoder module
to dispatch the corresponding API.

Add slang-decoder.cpp/h where we implement the logic to dispatch
the slang API according to the input block data.

- Rename api_callId.h to capture-format.h
- Renmae capture_utility.cpp to capture-utility.cpp
- Renmae capture_utility.h to capture-utility.h
- Change the #include file name accordingly.

* Reorganize source files structure

Move all the capture logic code into `capture` directory.
 - the capture code will be build with slang dll.

Move all the replay logic code into `relay` directoy.
 - the replay code is not part of slang dll, it will be built
   as a stand alone binary and link against slang dll.

Change the #include file names accordingly.

Add tools/slang-replay/main.cpp for the slang-replay stand alone
binary place holder. Will implement it later.

Update premake5.lua accordingly.

* Update cmake files

Update cmake files to change the build process for
capture and relay system.

 - capture component should be build with slang dll, so we
   should not include replay component.
 - replay component should be a separate executable tool, which
   should not include capture component.
 - In order to easy use our current cmake infrastructure, move
   the shared files to a `util` folder
 - change the header include path

* Redesgin the interfaces of consumers

Fix some issues in capture
Finish implementing all slang-decoder functions

* Fix the AppleClang build issue

* Address few comments

- Fix the weird indent issues.
- Correct the function name for CreateGlobalSession()
- Rename file-processor to captureFile-processor to be more specific.
- Use Slang::List instead of std::vector

* record/replay: name refactor change

Refactor the naming.

Change the name "encoder/capture" to "record".</content>
</entry>
</feed>
