<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/.gitignore, 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-10-03T19:52:50+00:00</updated>
<entry>
<title>Add direct usage support for gl_DrawID (#8594)</title>
<updated>2025-10-03T19:52:50+00:00</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2025-10-03T19:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2491ac5f42d78d082d4afa6416906fad9b32ea80'/>
<id>urn:sha1:2491ac5f42d78d082d4afa6416906fad9b32ea80</id>
<content type='text'>
- [x] Add `gl_DrawID` property declaration in
`source/slang/glsl.meta.slang` similar to `gl_BaseVertex` and
`gl_BaseInstance`
- [x] Ensure it maps to `SV_DrawIndex` semantic
- [x] Add extension requirements in `slang-ir-glsl-legalize.cpp` (GLSL
460 and GL_ARB_shader_draw_parameters)
- [x] Create test case to verify SPIRV output contains `DrawIndex`
decoration
- [x] Run formatting script before committing
- [x] Verify existing tests still pass
- [x] Remove accidentally committed temp files (1.glsl, 3.spv-asm)
- [x] Update .gitignore to prevent similar files from being committed

&lt;!-- START COPILOT CODING AGENT SUFFIX --&gt;



&lt;details&gt;

&lt;summary&gt;Original prompt&lt;/summary&gt;

&gt; 
&gt; ----
&gt; 
&gt; *This section details on the original issue you should resolve*
&gt; 
&gt; &lt;issue_title&gt;Missing direct usage support for gl_DrawID&lt;/issue_title&gt;
&gt; &lt;issue_description&gt;# Problem Description
&gt; Because DirectX does not have support for DrawIndex like vulkan does,
i add the support in d3d12 by emulating it and storing it in a root
constant. In vulkan though, i should be able to use it directly, but
because now i store it as a global variable, i cannot use the
SV_DrawIndex semantic either.
&gt; 
&gt; # Preferred Solution
&gt; I'd like to be able to use gl_DrawID like you how can use
gl_BaseVertex and gl_BaseInstance.
&gt; &lt;/issue_description&gt;
&gt; 
&gt; &lt;agent_instructions&gt;You can just edit glsl.meta.slang and add a
declaration for gl_DrawID in a similar way to gl_BaseVertex, and map it
to SV_DrawIndex.
&gt; 
&gt; Create a `//TEST:SIMPLE(filecheck=SPIRV): -target spirv` test case,
and use filecheck to verify the output contains the correct SPIRV
`DrawIndex` decoration.&lt;/agent_instructions&gt;
&gt; 
&gt; ## Comments on the Issue (you are @copilot in this section)
&gt; 
&gt; &lt;comments&gt;
&gt; &lt;/comments&gt;
&gt; 


&lt;/details&gt;
Fixes shader-slang/slang#8548

&lt;!-- START COPILOT CODING AGENT TIPS --&gt;
---

✨ Let Copilot coding agent [set things up for
you](https://github.com/shader-slang/slang/issues/new?title=✨+Set+up+Copilot+instructions&amp;body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&amp;assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

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;</content>
</entry>
<entry>
<title>Add timeout to CI jobs; add mimalloc to .gitignore (#8538)</title>
<updated>2025-09-25T00:54:26+00:00</updated>
<author>
<name>Gangzheng Tong</name>
<email>tonggangzheng@gmail.com</email>
</author>
<published>2025-09-25T00:54:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=55a7d2a73ef051f6027129f90e73a88b5176ec3b'/>
<id>urn:sha1:55a7d2a73ef051f6027129f90e73a88b5176ec3b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `lock` file to `.gitignore` (#8029)</title>
<updated>2025-08-06T21:57:45+00:00</updated>
<author>
<name>Sam Estep</name>
<email>sam@samestep.com</email>
</author>
<published>2025-08-06T21:57:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b7039f0c911aee314ded4c230e7f32451cb14798'/>
<id>urn:sha1:b7039f0c911aee314ded4c230e7f32451cb14798</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix confusing error messages for interface return type mismatches (#7854)</title>
<updated>2025-07-24T07:47:26+00:00</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2025-07-24T07:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2d23a962766a97cbb11bcee5483a66aec923da49'/>
<id>urn:sha1:2d23a962766a97cbb11bcee5483a66aec923da49</id>
<content type='text'>
* Initial plan

* Add improved diagnostic for interface return type mismatches

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

* Complete fix for interface return type mismatch error reporting

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

* Move diagnostic to synthesis phase for better interface return type mismatch errors

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

* Remove extraneous test file and update .gitignore

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

* Add diagnostic test for interface return type mismatch and apply formatting

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

* Address feedback: restore whitespace and use filecheck for diagnostic test

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

* Fix logic error in return type mismatch detection

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

* Remove unnecessary flag by using out parameter for diagnostic tracking

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

* Refactor witness synthesis failure reporting to use structured approach

Replace ad-hoc `outSpecificDiagnosticEmitted` parameter with `WitnessSynthesisFailureReason` enum and `MethodWitnessSynthesisFailureDetails` struct as requested in code review. This provides:

- Clear taxonomy of failure reasons (General, MethodResultTypeMismatch, MethodParameterMismatch)
- Centralized diagnostic emission in findWitnessForInterfaceRequirement
- Better extensibility for future failure types
- Improved maintainability by removing state tracking flags

The return type mismatch diagnostic continues to work correctly, showing error 38106 with precise location information.

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

* Remove unused MethodParameterMismatch enum and duplicate code

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

* Remove redundant requiredMethod field from MethodWitnessSynthesisFailureDetails

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

* Address feedback: add outFailureDetails guard and remove unnecessary hasReturnTypeError variable

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

* Fix regression: restore original diagnostic message for mutating method mismatch

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

* Fix.

* Fix.

* Remove `innerSink`.

* Print candidates considered  for interface match upon error.

* Fix tests.

---------

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;</content>
</entry>
<entry>
<title>Add slang-ast files to gitignore (#6901)</title>
<updated>2025-07-23T18:59:59+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2025-07-23T18:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c48e35506667c752edec6a021e7a9b9562940c7b'/>
<id>urn:sha1:c48e35506667c752edec6a021e7a9b9562940c7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Perf improvements to IR serialization (#7751)</title>
<updated>2025-07-17T06:59:33+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2025-07-17T06:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=28758e0e427ceca196937dc90efe3ab1cb35bd70'/>
<id>urn:sha1:28758e0e427ceca196937dc90efe3ab1cb35bd70</id>
<content type='text'>
* option to use riff as serialization backend

* option to use riff as serialization backend

* perf

* shuffle code

* perf improvements to deserialization

* formatting

* remove bit_cast

* correct IR verification

* neaten serialized format

* fix peek module info

* formatting

* remove temporary profiling code

* cleanup

* fix wasm build

* more explicit sizes

* deserialize via fossil on 32 bit wasm

* Make serialized modules Int size agnostic

* reorder stable names to allow range based check for 64 bit constants

* format

* review comments

* fix build

* fix

* c++17 compat slang-common.h</content>
</entry>
<entry>
<title>Add Claude local setting files to .gitignore (#7771)</title>
<updated>2025-07-15T21:49:16+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-07-15T21:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=12759c467cbaff98e7fb0fd075f3a53861a10c4f'/>
<id>urn:sha1:12759c467cbaff98e7fb0fd075f3a53861a10c4f</id>
<content type='text'>
* Add Claude local setting files to .gitignore
</content>
</entry>
<entry>
<title>Add Nix flake for direnv (#6635)</title>
<updated>2025-03-20T15:40:57+00:00</updated>
<author>
<name>Sam Estep</name>
<email>sam@samestep.com</email>
</author>
<published>2025-03-20T15:40:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9b1e10ea2602c76a97ca25c27a0b3842a5bb69de'/>
<id>urn:sha1:9b1e10ea2602c76a97ca25c27a0b3842a5bb69de</id>
<content type='text'>
* Add Nix flake for direnv

* Use Sai's suggestion for the `description`

* Make `.envrc` optional

* Move Nix docs to their own section

* Tweak wording

* Tweak wording more

* Add `nixfmt`

---------

Co-authored-by: Sai Praveen Bangaru &lt;31557731+saipraveenb25@users.noreply.github.com&gt;
Co-authored-by: Ellie Hermaszewska &lt;ellieh@nvidia.com&gt;</content>
</entry>
<entry>
<title>Remove .clang-format from .gitignore (#5746)</title>
<updated>2024-12-04T06:22:35+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-04T06:22:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=743c4808f70fef1573e24d7d13e28e37008ec83f'/>
<id>urn:sha1:743c4808f70fef1573e24d7d13e28e37008ec83f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Embed core module in wasm build. (#5569)</title>
<updated>2024-11-15T08:37:58+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-11-15T08:37:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=05903f708856a70d68bf41bbfb2b06620508dee0'/>
<id>urn:sha1:05903f708856a70d68bf41bbfb2b06620508dee0</id>
<content type='text'>
* Embed core module in wasm build.

* format code

* add uintptr_t case.

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
</feed>
