<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/serialization, 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-12-06T03:33:55+00:00</updated>
<entry>
<title>Implement explciit binding for metal and wgsl. (#5778)</title>
<updated>2024-12-06T03:33:55+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-12-06T03:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7dabfa76ccfb396e9d2019e2b6e01259d1661dc5'/>
<id>urn:sha1:7dabfa76ccfb396e9d2019e2b6e01259d1661dc5</id>
<content type='text'>
* Respect explicit bindings in wgsl emit.

* Implement explciit binding generation for metal and wgsl.

* Update toc.

* Fix warnings in tests.

* Fix tests.

---------

Co-authored-by: Ellie Hermaszewska &lt;ellieh@nvidia.com&gt;</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>Enable WebGPU tests in CI (#5239)</title>
<updated>2024-10-15T16:11:53+00:00</updated>
<author>
<name>Anders Leino</name>
<email>aleino@nvidia.com</email>
</author>
<published>2024-10-15T16:11:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9e3b0367cfd63f21a0519b61b6fd13e94dac1c51'/>
<id>urn:sha1:9e3b0367cfd63f21a0519b61b6fd13e94dac1c51</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add slangc interface to compile and use ir modules. (#3615)</title>
<updated>2024-02-24T00:39:46+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-02-24T00:39:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=401d8cdb12ae69aeb216c80c9bb90240d8359649'/>
<id>urn:sha1:401d8cdb12ae69aeb216c80c9bb90240d8359649</id>
<content type='text'>
* Add slangc interface to compile and use ir modules.

* Fix glsl scalar layout settings not copied to target.

* Fix.

* Cleanups.</content>
</entry>
<entry>
<title>SPIRV: debug source and debug line. (#3109)</title>
<updated>2023-08-16T03:55:21+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-08-16T03:55:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c16f711d83df90f6826a65d61fc56cdbb932c92c'/>
<id>urn:sha1:c16f711d83df90f6826a65d61fc56cdbb932c92c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use ankerl/unordered_dense as a hashmap implementation (#3036)</title>
<updated>2023-08-16T00:57:47+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-08-16T00:57:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=45d9961a6a86d184248ef84f6a07125b0c224f97'/>
<id>urn:sha1:45d9961a6a86d184248ef84f6a07125b0c224f97</id>
<content type='text'>
* Correct namespace for getClockFrequency

* missing const

* Add missing assignment operator

* Remove unused variables

* Return correct modified variable

* Use stable hash code for file system identity

* terse static_assert

* Structured binding for map iteration

* Make (==) and getHashCode const on many structs

* Add ConstIterator for LinkedList

* Replace uses of ItemProxy::getValue with Dictionary::at

* Extract list of loads from gradientsMap before updating it

* Const correctness in type layout

* Add unordered_dense hashmap submodule

* Use wyhash or getHashCode in slang-hash.h

* refactor slang-hash.h

* Use ankerl/unordered_dense as a hashmap implementation

Notable changes:
- The subscript operator returns a reference directly to the value,
  rather than a lazy ItemProxy (pair of dict pointer and key)

slang-profile time (95% over 10 runs):

- Before: 6.3913906 (±0.0746)
- After:  5.9276123 (±0.0964)

* 64 bit hash for strings

So they have the same hash as char buffers with the same contents

* Narrowing warnings for gcc to match msvc

* revert back to c++17

* Correct c++ version for msvc

* Use path to unordered_dense which keeps tests happy

* Do not assign to and read from map in same expression

* Remove redundant map operations in primal-hoist

* Split out stable hash functions into slang-stable-hash.h

* 64 bit hash by default

* regenerate vs projects

* Correct return type from HashSetBase::getCount()

* correct width for call to Dictionary::reserve

* Use stable hash for obfuscated module ids

* Signed int for reserve

* clearer variable naming

* Parameterize Dictionary on hash and equality functors

* Allow heterogenous lookup for Dictionary

* missing const

* Use set over operator[] in some places

* Remove unused function

* s/at/getValue</content>
</entry>
<entry>
<title>Fix issue with Obfuscated hash (#2834)</title>
<updated>2023-04-24T16:43:48+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-04-24T16:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=fbe37ea6d90f7bfe18506b042657c6e533eaf9b2'/>
<id>urn:sha1:fbe37ea6d90f7bfe18506b042657c6e533eaf9b2</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Remove legacy container writing.
Test using module without source map.

* Change hashing for obfuscated source map such that takes into account different line endings.</content>
</entry>
<entry>
<title>Improvements outputting containers (#2815)</title>
<updated>2023-04-20T15:55:26+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-04-20T15:55:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=467fa3a5dcdd36e310b084747d6f4fcd6ca81249'/>
<id>urn:sha1:467fa3a5dcdd36e310b084747d6f4fcd6ca81249</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Moved JSON source map writing logic to JSONSourceMapUtil.

* Use ArtifactHandler to read/write SourceMaps.
Use ObjectCastableAdapter to hold SourceMap
Only serialize SourceMap &lt;-&gt; JSON on demand.

* Make some types swappable.

* BoxValue impl.

* Added asBoxValue.

* Remove const get funcs.

* Fix typo in asBoxValue.

* Fix another typo in asBoxValue.

* Slightly simplify conversion to blob of SourceMap.

* WIP Api improvements around sourcemap/artifact/line-directive.

* Small fix for asBoxValue

* WIP outputting container with multiple artifacts.

* Added ArtifactContailerUtil::filter to produce an artifact hierarchy that only contains "signficant" and "blobable" artifacts.

* Make emitting IR disjoint to using a container.
Added -emit-ir option.
Simplfiy output.

* Fix typo in options parsing.

* Add a test that ouputs with an emit source map.

* Enable emitting our SlangIR module if no targets are specified.

* Fix issues constructing container.

* Extra checks getting obfuscated source map from a translation unit.

* Fix typo.</content>
</entry>
<entry>
<title>Round trip source map (#2810)</title>
<updated>2023-04-17T19:09:37+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-04-17T19:09:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=90a9f43573ec0777c2ae4fa20c8fdc51a4ae7b3a'/>
<id>urn:sha1:90a9f43573ec0777c2ae4fa20c8fdc51a4ae7b3a</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Make output of obfuscation locs work in a slang-module.

* Tidy up detection for writing serialized source locs.

* Support for .zip references.
Handling of obfuscated source maps read from containers.
A test to check obfuscated source map working on a module.

* When using obfuscation, always obfuscate locs instead of stripping them. We keep a source map, so we can still produce reasonable errors.

* Write out source locs if debug information is enabled.

* Check output without sourcemap.

* Small fixes.

* Small improvements around hash calculation for source map name.

* Disable test that fails on x86 gcc linux for now.

* Fix issues around obfuscated source map using lines rather than columns.
Fix some issues around encoding/decoding.

* Make column calculation of source locs take into account utf8/tabs.
Don't special case obfuscated source map for lookup for source loc.

* Support following multiple source maps.

* Small fixes/improvements around SourceMap lookup.</content>
</entry>
<entry>
<title>Using SourceMap for location output (#2736)</title>
<updated>2023-03-27T17:57:42+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-03-27T17:57:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ca1f93a916ce6b984cba402c8d3710988f2b618f'/>
<id>urn:sha1:ca1f93a916ce6b984cba402c8d3710988f2b618f</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* WIP using SourceMap with SourceManager.

* Add a test to check obfuscation map is working.

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
</feed>
