<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/.gitmodules, 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-06-30T23:43:16+00:00</updated>
<entry>
<title>fix spirv-opt bug (#7565)</title>
<updated>2025-06-30T23:43:16+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-06-30T23:43:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ca21304d0bca7fdde9f5ab3f23129a553dd2408b'/>
<id>urn:sha1:ca21304d0bca7fdde9f5ab3f23129a553dd2408b</id>
<content type='text'>
Close #7491.

As the PR KhronosGroup/SPIRV-Tools#6198 is already merged, we can
switch spirv-tools repo to upstream repo now.</content>
</entry>
<entry>
<title>Update spirv-tool submodule to include the debug instruct fix (#7541)</title>
<updated>2025-06-27T00:13:27+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-06-27T00:13:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b10319c1c513de8dd7a1d7cf5a45265589978654'/>
<id>urn:sha1:b10319c1c513de8dd7a1d7cf5a45265589978654</id>
<content type='text'>
* Update spirv-tool submodule to include the debug instruct fix

Update spirv-tool to our forked repo that include the fix of spirv-val
bug. It mistakenly relocates the `DebugFunctionDefinition`.

The upstream PR is: https://github.com/KhronosGroup/SPIRV-Tools/pull/6198
But it's still pending on review.

Issue #7491 will keep track the process, when the upstream PR is merged,
we need to restore the repo back to upstream repo.</content>
</entry>
<entry>
<title>Enabling optix ci pipeline  (#7311)</title>
<updated>2025-06-19T10:01:25+00:00</updated>
<author>
<name>Harsh Aggarwal (NVIDIA)</name>
<email>haaggarwal@nvidia.com</email>
</author>
<published>2025-06-19T10:01:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=23dcea810a79e19051e70ff2aa0b8953429c6461'/>
<id>urn:sha1:23dcea810a79e19051e70ff2aa0b8953429c6461</id>
<content type='text'>
* Revert "Disable OptiX tests by default. (#1331)"

This reverts commit e45f8c1f49855cebe90b6722324ec24146ff5a3d.

* Enable optix submodule to build

Add support for default entry points in compilation

Implemented logic to check for defined entry points in the module
when no explicit entry points are provided. If found, these entry points
are added to the `specializedEntryPoints` list, with the assumption that
no specialization is needed for them at this time.

* Disable optix if cuda is not enabled

* Add submodule OptixSDK path in search

* Distinguish user-explicit vs auto-detected SLANG_ENABLE_OPTIX

When SLANG_ENABLE_OPTIX is explicitly set by user and CUDA is not available,
show SEND_ERROR to maintain strict validation. When OptiX is auto-detected
(e.g., local submodule present) but CUDA unavailable, gracefully disable
with STATUS message to allow builds to continue.

This addresses review feedback to keep error for explicit requests while
handling auto-detection gracefully.

* Apply CMake formatting to SLANG_ENABLE_OPTIX validation logic

* revert: slang-rhi changes
as those are merged independently as in PR # slang-rhi#400</content>
</entry>
<entry>
<title>Add Yet Another Source Code Generator (#6844)</title>
<updated>2025-04-17T19:40:53+00:00</updated>
<author>
<name>Theresa Foley</name>
<email>10618364+tangent-vector@users.noreply.github.com</email>
</author>
<published>2025-04-17T19:40:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1e86f5657d38ae5bab0ced7dc17aeda48198fdd5'/>
<id>urn:sha1:1e86f5657d38ae5bab0ced7dc17aeda48198fdd5</id>
<content type='text'>
* Add Yet Another Source Code Generator

This change introduces an offline source code generation tool,
provisionally called `fiddle`. More information about the design of
the tool can be found in `tools/slang-fiddle/README.md`.

Yes... this is yet another code generator in a project that already
has too many. Yes, this could easily be a very obvious instnace of
[XKCD 927](https://xkcd.com/927/).

This change is part of a larger effort to change how the AST
types are being serialized, and the way code generation for them
is implemented.

Right now, the source code for the new tool is being checked in and
the relevant build step is enabled, just to make sure everything is
working as intended, but please note that this change does *not*
introduce any code in the repository that actually makes use of
the new generator. All of the AST-related reflection information that
feeds the current serialization system is still being generated using
`slang-cpp-extractor`.

The design of the new tool is primarily motivated by the new approach
to serialization that I'm implementing, and once that new approach
lands we should be able to deprecate the `slang-cpp-extractor`.

In addition, the new tool should in principle be able to handle
many of the kinds of code generation tasks that are currently being
implemented with other tools like `slang-generate` (used for the core
and glsl libraries). This tool should also be well suited to the task
of generating more of the code related to the IR instructions.

* format code

* Build fixes caught by CI

* Fix another warning coming from CI

* Another CI-caught fix

* Change bare 	hrows over to more proper abort execptions

* format code

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Update build-llvm.ps1 (#6336)</title>
<updated>2025-02-12T00:05:18+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-02-12T00:05:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=96529df165daff39770db83f3ed62a0bce26ba7d'/>
<id>urn:sha1:96529df165daff39770db83f3ed62a0bce26ba7d</id>
<content type='text'>
Co-authored-by: Yong He &lt;yongh@outlook.com&gt;</content>
</entry>
<entry>
<title>Bump spirv-header/tools/glslang (#5834)</title>
<updated>2024-12-12T06:52:14+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-12T06:52:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=626e81478f2bcf759567975a3c94478374d1811d'/>
<id>urn:sha1:626e81478f2bcf759567975a3c94478374d1811d</id>
<content type='text'>
* Back out "Update SPIRV submodules (#5815)"

This backs out commit e50aac13e2c161d672b137a62f6d66820d0f9ff1.

* Use upstream spirv-tools

* Fix bump-glslang.sh for newer versions of spirv-tools

* Use upstream glslang

* Add --do-fetch option to bump glslang

* Bump glslang and friends

Supersedes https://github.com/shader-slang/slang/pull/5815

* Regenerate glslang and spirv-tools outputs

* Fixes to slang-glslang

* Correct spirv intrinsic for OpImageSampleFootprintNV

Note that this currently fails validation with the following error:

```
error: line 145: Result &lt;id&gt; from OpSampledImage instruction must not appear as operand for OpImageSampleFootprintNV, since it is not specified as taking an OpTypeSampledImage. Found result &lt;id&gt; '55[%sampledImage]' as an operand of &lt;id&gt; '56[%resultVal]'.
  %sampledImage = OpSampledImage %54 %51 %40
```

This seems to be in error as the spec for
*SPV_NV_shader_image_footprint* states that "Sampled Image must be an
object whose type is OpTypeSampledImage"

https://refined-github-html-preview.kidonng.workers.dev/KhronosGroup/SPIRV-Registry/raw/refs/heads/main/extensions/NV/SPV_NV_shader_image_footprint.html

glslang also seems to fail with the same validation error

* Fix spv storage class test</content>
</entry>
<entry>
<title>Draft: integrate slang-rhi (#4970)</title>
<updated>2024-08-30T16:50:19+00:00</updated>
<author>
<name>Simon Kallweit</name>
<email>64953474+skallweitNV@users.noreply.github.com</email>
</author>
<published>2024-08-30T16:50:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f428a058ea48535a323c32d206ebc7e551c3c3e9'/>
<id>urn:sha1:f428a058ea48535a323c32d206ebc7e551c3c3e9</id>
<content type='text'>
* add slang-rhi submodule

* refactor render-test to use slang-rhi and remove OpenGL support

* remove -vk -glsl tests

* remove gl test

* disable failing test

* allow recursive submodules in github actions

* update slang-rhi

* update slang-rhi

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>[gfx] metal backend skeleton (#4223)</title>
<updated>2024-05-27T13:03:13+00:00</updated>
<author>
<name>Simon Kallweit</name>
<email>simon.kallweit@gmail.com</email>
</author>
<published>2024-05-27T13:03:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d9443d670ef8413971fe7c3f02368b60a7fc5904'/>
<id>urn:sha1:d9443d670ef8413971fe7c3f02368b60a7fc5904</id>
<content type='text'>
* add metal-cpp submodule

* add metal-cpp cmake target

* gfx metal backend skeleton

* add premake support

* add foundation framework

* add metal-cpp include to premake

* update vs project file

---------

Co-authored-by: Simon Kallweit &lt;skallweit@nvidia.com&gt;
Co-authored-by: Jay Kwak &lt;82421531+jkwak-work@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>WIP: CMake (#3326)</title>
<updated>2023-12-08T11:24:34+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-12-08T11:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4321929879c1ed5b87ff95a99ca7da91e28d18fd'/>
<id>urn:sha1:4321929879c1ed5b87ff95a99ca7da91e28d18fd</id>
<content type='text'>
* More robust input and output selection in generator tools

* Add cmake build system

* Get slang-test running with cmake

* Bump lz4 and miniz dependencies

* Make cmake build more declarative

* Correct preprocessor logic in slang.h

* Add cuda test to compute/simple

* Remove empty cmake files

* output placement for cmake, and commenting

* Correct include paths in spirv-embed-generator

* Format cmake with gersemi

* Make cmake build clerer

* Neaten header generation

Also work around https://gitlab.kitware.com/cmake/cmake/-/issues/18399
by introducing correct_generated_properties to set the GENERATED flag in
the correct scope

* remove unused files

* use 3.20 to set GENERATOR property properly

* spelling

* more flexible linker arg setting

* replace slang-static with obj collection

* Set rpath and linker path correctly

* neaten generated file generation

* tests working with cmake build

* fix premake5 build

* comment and neaten cmake

* remove unnecessary dependency

* Build aftermath example only when aftermath is enabled

* Add slang-llvm and other dependencies

* Put modules alongside binaries

* Find slang-glslang correctly

* Better option handling

* comments

* add llvm build test

* Better option handling

* cmake wobble

* use UNICODE and _UNICODE

* remove other workflows

* use ccache

* neaten

* limit parallel for llvm build

* use ninja for build

* Windows and Darwin slang-llvm builds

* cache key

* verbose llvm build

* cl on windows

* sccache and cl.exe

* use cl.exe

* Correct package detection

* less verbosity

* Simplify miniz inclusion

* fix build with sccache

* Neaten llvm building

* neaten

* Neaten slang-llvm fetching

* more surgical workarounds

* Add ci action

* Get version from git

* better variable naming

* add missing include

* clean up after premake in cmake

* more docs on cmake build

* ci wobble

* add imgui target

* more selective source

* do not download swiftshader

* Some missing dependencies

* only build llvm on dispatch

* Disable /Zi in CI where sccache is present

* simplify

* set PIC for miniz

* set policies before project

* reengage workaround

* more runs on ci

* Add cmake presets

* Add cpack

* move iterator debug level to preset

* Correct lib flag

* simplify action

* Neaten cmake init

* Add todo

* Add simple test wrapper

* Add tests to workflow presets

* rename packing preset

* Correctly set definitions

* docs

* correct preset names

* Make slang-test depend on test-server/test-process

* neaten

* use workflow in actions

* install docs

* Correct module install dir

* debug dist workflow

* Install headers

* neaten header globbing

* Neaten dependency handling

* make lib and bin variables

* Do not set compiler for vs builds, unnecessary

* docs

* allow setting explicit source for target

* maintain archive subdir

* cmake docs

* install headers

* place targets into folders

* cmake docs

* nest external projects in folder

* remove name clash

* Neater external packages

* meta targets in folder structure

* cleaner slang-glslang dll

* Add missing static directive to slang-no-embedded-stdlib

* more robust module copying

* make slang-test the startup project

* folder tweak

* Make FETCH_BINARY the default on all platforms

* Set DEBUG_DIR

* add natvis files to source

* skip spirv tests

* remove test step from debug dist

* Add build to .gitignore

* redo warnings to be more like premake

* Update imgui

* clean more premake files

* Disable PCH for glslang, gcc throws a warning

* Add /MP for msvc builds

* warning wobble

* Add script to build llvm

* Add slang-llvm and generators components

* Build slang-llvm in ci

* comments

* fetch llvm with git

* better abi approximation for cache

* better sccache key

* formatting

* Correct logic around disabling problematic debug info for ccache

* exclude gcc and clang from windows ci

* Make dist workflows use system llvm

* naming

* restore normal dist builds

* formatting

* run tests in ci

* Correct slang-llvm url setting

* Rely on the system to find the test tool library

* actions matrix wiggle

* cope with OSX ancient bash

* Correct compilers on windows

* more ci debugging

* Correct rpath handling on OSX

* neaten

* correct path to slang-llvm

* Correct rpath separator on osx

* Find slang-llvm correctly

* smoke tests only on osx

* ci wobble

* Give MacOS module a dylib suffix

* get swiftshader correctly

* cope with bsd cp

* remove debug output

* full tests on osx

* ci wobble

* Add some vk tests to expected failures

* simplify ci

* ci wobble

* exclude dx12 tests from github ci

* remove cmake code for building llvm

* warnings

* warnings as errors for cl

* spirv-tools in path

* add aarch64 ci build

* Add SLANG_GENERATORS_PATH option for prebuilt generators

* neaten

* Correct generator target name

* remove yaml anchors because github actions does not support them

* Demote CMake in docs

Also add info on cross compiling

* Restore premake CI

* use minimal ci for cmake

* Write miniz_export for premake build

and .gitignore it

* Mention build config tool options in docs

* Remove redefined macro for miniz

* regenerate vs project</content>
</entry>
<entry>
<title>Add Mesh and Task shader support to GFX (#3190)</title>
<updated>2023-09-12T03:13:11+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-09-12T03:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=09854a4596019ddb3bb315b8836b5c88e718cdc7'/>
<id>urn:sha1:09854a4596019ddb3bb315b8836b5c88e718cdc7</id>
<content type='text'>
* Bump vulkan headers

Also just use vulkan-headers as a submodule

* Add drawMeshTasks to gfx graphics pipelines

* Add DispatchMesh overload with no payload, with GLSL intrinsic

* Require spirv 1.4 for mesh shaders

* Add vulkan mesh shader feature discovery

* Add mesh shader stage bits to vk-util

* Add mesh and task shader support to render-test

* Add mesh and task tests

* Preserve "payload" specifier in task shaders

* Add mesh shader pipeline support to gfx

* Add TODO

* Add numThreads attribute for amplification stage

* Add payload to task shader test

* Drop dependency on d3dx12

* Allow passing payloads from task to mesh shaders

* regenerate vs projects

* check DispatchMesh name correctly

* Add mesh shader tests to failing tests

* Detect wave-ops feature on vulkan

* Add fuse-product to expected failures

This fails because the global varaible `count` is not initialized

* Add required extension to WaveMaskMatch SPIR-V impl

* Remove meshShader member from pipeline desc

* Identify mesh shader support on d3d12</content>
</entry>
</feed>
