<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang-record-replay/record/slang-filesystem.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>2024-10-29T06:49:26+00:00</updated>
<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>Feature/capture unit test (#4898)</title>
<updated>2024-08-22T17:18:44+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-08-22T17:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b5bb82411cc6101b66283f7d0abca7ceb58aa2f6'/>
<id>urn:sha1:b5bb82411cc6101b66283f7d0abca7ceb58aa2f6</id>
<content type='text'>
* record/replay: Add tests

Modify the hello-world example to generate the hash code for the
entry point spirv code, so that we can compare it with replaying
the example.

Add the test script to run the example and compare the hash code
with replaying it.

* Check nullptr for out Diagnostics

We need to check whether the output Diagnostics is a nullptr,
because it's allowed.

* Fix the double free pointers

* Add triangle example as the new test for record-replay

Change the example base to add the offline rendering path
because we don't want to display anything when we're in the
test mode.

This change involves introducing a TestBase that will parse
the command line option. It will decide whether we are in
the test mode.

Disable all the swapchain and windows related creation, instead
we will only create one single framebuffer for the render target.

* Address comments

TODO:
In the follow up patches, I will add more tests and integrate the test flow into slang-unit-test.</content>
</entry>
<entry>
<title>Reduce dependency on std library (#4785)</title>
<updated>2024-08-07T15:53:33+00:00</updated>
<author>
<name>skallweitNV</name>
<email>64953474+skallweitNV@users.noreply.github.com</email>
</author>
<published>2024-08-07T15:53:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9b580e58417a77109617804362be872f05885f23'/>
<id>urn:sha1:9b580e58417a77109617804362be872f05885f23</id>
<content type='text'>
</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>
