<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/core/slang-io.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-09-08T17:24:05+00:00</updated>
<entry>
<title>Use wide char version of Windows API (#8390)</title>
<updated>2025-09-08T17:24:05+00:00</updated>
<author>
<name>Gangzheng Tong</name>
<email>tonggangzheng@gmail.com</email>
</author>
<published>2025-09-08T17:24:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3aff764c2b5d613f766538d27e0b9f448e7ed5ca'/>
<id>urn:sha1:3aff764c2b5d613f766538d27e0b9f448e7ed5ca</id>
<content type='text'>
This PR modernizes the Windows-specific code by replacing ANSI Windows
API functions with their Unicode (wide character) counterparts. This
change ensures proper handling of Unicode file paths and strings on
Windows systems.

### File Operations (`source/core/slang-io.cpp`)
- `DeleteFileA` → `DeleteFileW`
- `GetTempPathA` → `GetTempPathW` 
- `GetTempFileNameA` → `GetTempFileNameW`
- `RemoveDirectoryA` → `RemoveDirectoryW`
- `SHFileOperationA` → `SHFileOperationW`
- `GetModuleFileNameA` → `GetModuleFileNameW` with UTF-8 conversion

### Platform Operations (`source/core/slang-platform.cpp`)
- `GetModuleHandleExA` → `GetModuleHandleExW`
- `LoadLibraryExA` → `LoadLibraryExW`
- `LoadLibraryA` → `LoadLibraryW`
- `OutputDebugStringA` → `OutputDebugStringW`

### Runtime and Tools
- `MessageBoxA` → `MessageBoxW` in slang-rt
- `GetCurrentDirectoryA` → `GetCurrentDirectoryW` in slang-fiddle
- String literal conversion to wide strings in vk-pipeline-create

---------

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;
Co-authored-by: Gangzheng Tong &lt;gtong-nv@users.noreply.github.com&gt;
Co-authored-by: slangbot &lt;ellieh+slangbot@nvidia.com&gt;
Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Fix bug in ci test (#8005)</title>
<updated>2025-07-31T20:50:55+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-07-31T20:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4a255d211834a5d0218cf1d166180930754b16cd'/>
<id>urn:sha1:4a255d211834a5d0218cf1d166180930754b16cd</id>
<content type='text'>
This commit fixes two problems.
 1. uninitialized file handle for lock-file test
 2. uninitialized static variable for lock-file test

The first bug is more of speculartive rather than actual bug.
The second bug was causing heap corruption when it was retried, because
the counter was not reset to zero on "retry" and it wrote data to an
invalida range in an array.</content>
</entry>
<entry>
<title>Update C++ standard to C++20 (#6980)</title>
<updated>2025-05-06T11:45:03+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2025-05-06T11:45:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=91425ccb6ff0a416b67ef21eb3ecebb49ba3e748'/>
<id>urn:sha1:91425ccb6ff0a416b67ef21eb3ecebb49ba3e748</id>
<content type='text'>
* Correct incorrect enum usage on metal

* Update C++ standard to C++20

Closes https://github.com/shader-slang/slang/issues/6945

* use bit_cast</content>
</entry>
<entry>
<title>Fix compiler warning with clang 18.1.8 on windows (#6843)</title>
<updated>2025-04-17T09:34:39+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-04-17T09:34:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=04db5a95657a8c1ad1db36570eadaeedbea01cbb'/>
<id>urn:sha1:04db5a95657a8c1ad1db36570eadaeedbea01cbb</id>
<content type='text'>
* Fix compiler warning with clang 18.1.8 on  windows</content>
</entry>
<entry>
<title>Allow explicit test root (#5980)</title>
<updated>2025-01-02T02:26:43+00:00</updated>
<author>
<name>bspeice</name>
<email>bspeice@users.noreply.github.com</email>
</author>
<published>2025-01-02T02:26:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=e3b71cf0356692bda5f0b3a06aed9d49ad3314a4'/>
<id>urn:sha1:e3b71cf0356692bda5f0b3a06aed9d49ad3314a4</id>
<content type='text'>
</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>preparation for clang format (#5422)</title>
<updated>2024-10-29T05:59:28+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-29T05:59:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a729c15e9dce9f5116a38afc66329ab2ca4cea54'/>
<id>urn:sha1:a729c15e9dce9f5116a38afc66329ab2ca4cea54</id>
<content type='text'>
* Clang-format excludes

* Add .clang-format

* Don't clang-format in external

* Missing includes and forward declarations

* Replace wonky include-once macro name

* neaten include naming

* Add clang-format to formatting script

* Add xargs and diff to required binaries

* add clang-format to ci formatting check

* Add max version check to formatting script

* temporarily disable checking formatting for cpp files</content>
</entry>
<entry>
<title>Enable emscripten builds to compile slang.dll to WebAssembly. (#5131)</title>
<updated>2024-09-25T07:24:51+00:00</updated>
<author>
<name>Anders Leino</name>
<email>aleino@nvidia.com</email>
</author>
<published>2024-09-25T07:24:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f5bf5ba5170058f9a9634438f7ff06f1a02e1da6'/>
<id>urn:sha1:f5bf5ba5170058f9a9634438f7ff06f1a02e1da6</id>
<content type='text'>
* Compile fixes for Wasm

The issues are all are due to 'long' types being 32 bits on WASM.

- class members redeclared errors
- &lt;&lt; with StringBuilder and unsigned long is ambiguous

This helps to address issue #5115.

* Use the host executable suffix for generators

Since the generators are run at build-time, we should not use CMAKE_EXECUTABLE_SUFFIX,
which is the suffix for the target platform.
Instead, define CMAKE_HOST_EXECUTABLE_SUFFIX as appropriate, and use that suffix instead.

This helps to address issue #5115.

* Add support for Wasm as a platform

This helps to address issue #5115.

* Add emscripten build

This closes #5115.</content>
</entry>
<entry>
<title>Add Path::removeNonEmpty() to remove non-empty dir (#4984)</title>
<updated>2024-09-03T20:02:48+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-09-03T20:02:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1673cf934b0871a6dd3b552a80913a5737fa3f61'/>
<id>urn:sha1:1673cf934b0871a6dd3b552a80913a5737fa3f61</id>
<content type='text'>
We've implemented a function in slang-record-replay unit test
to remove the non-empty directory, now move this function into
slang `Path` namespace to make this function as an utility.

Close issue #4916</content>
</entry>
</feed>
