<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/core/slang-platform.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-19T21:53:03+00:00</updated>
<entry>
<title>Use LOAD_LIBRARY_SEARCH_DEFAULT_DIRS for LoadLibraryExW (#8491)</title>
<updated>2025-09-19T21:53:03+00:00</updated>
<author>
<name>Gangzheng Tong</name>
<email>tonggangzheng@gmail.com</email>
</author>
<published>2025-09-19T21:53:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c8d189bd500fce3d6716a79cdb204a94b36a84b5'/>
<id>urn:sha1:c8d189bd500fce3d6716a79cdb204a94b36a84b5</id>
<content type='text'>
Before:
- Uses `LOAD_LIBRARY_SEARCH_USER_DIRS` in `LoadLibraryExW`, which might
cause exception if there is no pathes added by `AddDllDirectory()`
After:
- Use the composite flag `LOAD_LIBRARY_SEARCH_DEFAULT_DIRS`, which
searches for several locations.
- Will still search dir added by `AddDllDirectory()`, but avoids empty
path seraching if there is no AddDllDirectory() calls.

Related to https://github.com/shader-slang/slang/issues/8462

---------

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>include limits.h in slang-platform.cpp (#8473)</title>
<updated>2025-09-19T04:17:25+00:00</updated>
<author>
<name>John Zupin</name>
<email>johnzupin@gmail.com</email>
</author>
<published>2025-09-19T04:17:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=391d35d63e83293855180b1cce061ca6b73a8b56'/>
<id>urn:sha1:391d35d63e83293855180b1cce061ca6b73a8b56</id>
<content type='text'>
fixes https://github.com/shader-slang/slang/issues/8472

Fixes an issue with GCC 9.4.0 on Ubuntu 20.04, it will throw an error
about PATH_MAX not being declared.

Co-authored-by: Mukund Keshava &lt;mkeshava@nvidia.com&gt;</content>
</entry>
<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>Add check for backtrace availability (#8329)</title>
<updated>2025-09-06T02:38:08+00:00</updated>
<author>
<name>Dario Mylonopoulos</name>
<email>32958057+ramenguy99@users.noreply.github.com</email>
</author>
<published>2025-09-06T02:38:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4856da26e188c28bf691d0210ce8016264c00940'/>
<id>urn:sha1:4856da26e188c28bf691d0210ce8016264c00940</id>
<content type='text'>
The header execinfo.h and the related backtrace functionality is not
available on all linux platforms. In particular it's missing on musl
linux and on Android before API version 33. This causes compilation
errors on those platforms.

With this change, we first check if backtrace functionality is available
by checking if we are using glibc or a compatible Android version.

Tested on manylinux_2_28 with glibc 2.28 and musllinux_1_2 with musl
1.2, has not been tested on Android.

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Try both LoadLibrary functions on Windows (#8368)</title>
<updated>2025-09-05T04:35:34+00:00</updated>
<author>
<name>jarcherNV</name>
<email>jarcher@nvidia.com</email>
</author>
<published>2025-09-05T04:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=5500f11768d4d93eef4dfcecf0821fee747bf1a4'/>
<id>urn:sha1:5500f11768d4d93eef4dfcecf0821fee747bf1a4</id>
<content type='text'>
If a given library cannot be found using LoadLibraryExA then try again
using LoadLibraryA. Return an error only if both of these failed.</content>
</entry>
<entry>
<title>Fix readlink missing include (#8260)</title>
<updated>2025-08-22T17:57:19+00:00</updated>
<author>
<name>TheGoldMonkey</name>
<email>41217164+TheGoldMonkey@users.noreply.github.com</email>
</author>
<published>2025-08-22T17:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3ca2e47514e3fce133a6ac7d1aca88a3b679c551'/>
<id>urn:sha1:3ca2e47514e3fce133a6ac7d1aca88a3b679c551</id>
<content type='text'>
On Linux, `slang-platform.cpp` compiles with libstdc++ only because
`unistd.h` is being transitively included. It fails to compile with
standard libraries that don't include `unistd.h` like libc++.

This is the how it's being transitively included with libstdc++:
```
/home/mcvm/dev/slang/source/core/slang-platform.h
/home/mcvm/dev/slang/source/core/../core/slang-string.h
/home/mcvm/dev/slang/source/core/../core/slang-hash.h
/home/mcvm/dev/slang/external/unordered_dense/include/ankerl/unordered_dense.h
/usr/lib64/gcc/x86_64-unknown-linux-gnu/15.1.0/../../../../include/c++/15.1.0/memory
/usr/lib64/gcc/x86_64-unknown-linux-gnu/15.1.0/../../../../include/c++/15.1.0/bits/shared_ptr_atomic.h
/usr/lib64/gcc/x86_64-unknown-linux-gnu/15.1.0/../../../../include/c++/15.1.0/bits/atomic_base.h
/usr/lib64/gcc/x86_64-unknown-linux-gnu/15.1.0/../../../../include/c++/15.1.0/bits/atomic_wait.h
/usr/include/unistd.h
```

Tested building with `-stdlib=libc++` and `-stdlib=libstdc++`.</content>
</entry>
<entry>
<title>Fix intrinsic LoadLocalRootTableConstant for optix (#7949)</title>
<updated>2025-08-07T21:43:25+00:00</updated>
<author>
<name>Harsh Aggarwal (NVIDIA)</name>
<email>haaggarwal@nvidia.com</email>
</author>
<published>2025-08-07T21:43:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=e595743b5aa4f6bd88800cfbcfd6eead3cc3d01b'/>
<id>urn:sha1:e595743b5aa4f6bd88800cfbcfd6eead3cc3d01b</id>
<content type='text'>
Due to an older version of spec referred there was an inconsitency v1.29
2/20/2025 - [HitObject LoadLocalRootArgumentsConstant]

Latest spec

https://microsoft.github.io/DirectX-Specs/d3d/Raytracing.html#hitobject-loadlocalroottableconstant

Refer:
OptiX backend support for Shader Execution Reordering (SER) features as
outlined in issue #6647. -</content>
</entry>
<entry>
<title>Add utility to trace creation of problematic IRInsts to assist LLM in debugging (#7820)</title>
<updated>2025-07-21T16:30:24+00:00</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2025-07-21T16:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=368ddbb7b99dfb939d20f53c35d05b2b4758bd64'/>
<id>urn:sha1:368ddbb7b99dfb939d20f53c35d05b2b4758bd64</id>
<content type='text'>
* Initial plan

* Add SLANG_DEBUG_IR_BREAK environment variable support

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Apply code formatting to SLANG_DEBUG_IR_BREAK implementation

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Improve stack trace debugging with -rdynamic flag and backtrace_symbols

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Address PR feedback: use PlatformUtil::getEnvironmentVariable, remove -rdynamic flag, and delete fallback branch

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Address PR feedback: simplify env var parsing, move backtrace to PlatformUtil, use #if for SLANG_LINUX_FAMILY

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Address PR feedback: remove unneeded include, make backtrace() more generic by removing uid parameter

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Fix and clone source tracking.

* Add python script to dump traces.

* Update instructions.

* Batch calls to addr2line

* Cleanup claude instructions.

* update claude action.

* Remove duplicated build instructions from claude.yml workflow

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* fix build error.

* Fix build errors

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;
Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;
Co-authored-by: Gangzheng Tong &lt;tonggangzheng@gmail.com&gt;</content>
</entry>
<entry>
<title>Use LoadLibraryExA instead of LoadLibraryA (#7535)</title>
<updated>2025-06-26T16:27:23+00:00</updated>
<author>
<name>jarcherNV</name>
<email>jarcher@nvidia.com</email>
</author>
<published>2025-06-26T16:27:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=70ba9eef4466ce91d9b82033ee315d53114d2692'/>
<id>urn:sha1:70ba9eef4466ce91d9b82033ee315d53114d2692</id>
<content type='text'>
Slangpy uses AddDllDirectory to specify locations of Slang DLL files.
LoadLibraryA ignores this so instead use LoadLibraryExA.</content>
</entry>
<entry>
<title>Correctly distinguish between windows and MSVC (#5851)</title>
<updated>2024-12-12T16:34:16+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-12T16:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=48ac6f25ff53290850a0edff0285dc3e1a350ad3'/>
<id>urn:sha1:48ac6f25ff53290850a0edff0285dc3e1a350ad3</id>
<content type='text'>
Partially sorts https://github.com/shader-slang/slang/issues/5843</content>
</entry>
</feed>
