<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/bugs/gh-3087-multi-entry-point.slang, 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-02-28T00:57:52+00:00</updated>
<entry>
<title>Map `SV_InstanceID` to `gl_InstanceIndex-gl_BaseInstance` (#6468)</title>
<updated>2025-02-28T00:57:52+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-02-28T00:57:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=6f2ce72b038b34e84819ddfc5d658166ed879eaa'/>
<id>urn:sha1:6f2ce72b038b34e84819ddfc5d658166ed879eaa</id>
<content type='text'>
* Map `SV_InstanceID` to `gl_InstanceIndex-gl_BaseInstance`

* Fix ci.</content>
</entry>
<entry>
<title>Fix a false failure when using the latest SPIR-V (#4904)</title>
<updated>2024-08-22T11:23:05+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2024-08-22T11:23:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a3fbd8f060317332eae951d4a376e830d058469e'/>
<id>urn:sha1:a3fbd8f060317332eae951d4a376e830d058469e</id>
<content type='text'>
* Fix a false failure when using the latest SPIR-V

---------

Co-authored-by: Ellie Hermaszewska &lt;github@sub.monoid.al&gt;
Co-authored-by: ArielG-NV &lt;159081215+ArielG-NV@users.noreply.github.com&gt;
Co-authored-by: Ellie Hermaszewska &lt;ellieh@nvidia.com&gt;</content>
</entry>
<entry>
<title>SPIR-V `SV_InstanceId` support in pixel shader (#4368)</title>
<updated>2024-06-13T23:12:42+00:00</updated>
<author>
<name>ArielG-NV</name>
<email>159081215+ArielG-NV@users.noreply.github.com</email>
</author>
<published>2024-06-13T23:12:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2407966e899f9e4f490b23a92fc06d5da20544cc'/>
<id>urn:sha1:2407966e899f9e4f490b23a92fc06d5da20544cc</id>
<content type='text'>
* solve issue by making 'non SV for SPIRV' system semantics, no longer an SV once diagnosed by slang

Problem:
1. SV_InstanceID (HLSL) is allowed as an output semantic with HLSL, it is also allowed for input into pixel shader. We need to account for multiple entry points in 1 file using both of these scenarios at once.
2. SPIRV does not allow `SV_InstanceID` as a builtin, `SV_InstanceID` must be passed as a regular `flat` `Input` from vertex shader.

Solution: Slang needs to treat these SV objects as non built-in's. As a result:
1. Slang needs to allocate for vertex output and fragment Input binding slots for all SV_InstanceID uses (if the target is SPIRV). This allows Slang to prepare an open slot to bind these SV objects to.
2. Slang needs to not emit built in modifier for these not actual built in variables (under the specific circumstances described).

note: `VarLayout` was made not `HOISTABLE` since I don't believe it needs to be `HOISTABLE`.
* The code can be made to work even if `VarLayout` is `HOISTABLE`.

* fix compile warnings

* address review comments and reimplement operand removal

1. remove an operand by selectively copying operands
2. test to ensure `Flat` is in the test shaders
* we do not need to manually add `Flat` in the code since this is done for us in emit-spirv. This is the behavior since `uint` on a fragment `Input` must be `Flat`, else it is a VK validation error.

* address review

remove clone logic

* address review

remove unused function
reserve instead of setCount with ShortList</content>
</entry>
</feed>
