<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/pipeline/rasterization/get-attribute-at-vertex.slang.glsl, 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>2024-01-24T23:36:49+00:00</updated>
<entry>
<title>[SPIRV] Support `globallycoherent` and `[vk::index()]`. (#3488)</title>
<updated>2024-01-24T23:36:49+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-01-24T23:36:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=e7b6de334f320429462a0257e2191ccf3cbc9a0d'/>
<id>urn:sha1:e7b6de334f320429462a0257e2191ccf3cbc9a0d</id>
<content type='text'>
* [SPIRV] Support `globallycoherent` modifier.

* Fix.

* Disable executable cooperative vector tests.

* Update expected failure.

* [SPIRV] Emit varying output index decoration.

* Add test.

* Update tests.

* Fix test.

* Emit `SpvExecutionModeEarlyFragmentTests`.

* Lower `StructuredBuffer&lt;bool&gt;`.

* Support globallycoherent on ByteAddressBuffer.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Support GL_EXT_fragment_shader_barycentric (#2704)</title>
<updated>2023-03-16T18:05:33+00:00</updated>
<author>
<name>Samuel Kogler</name>
<email>skogler@users.noreply.github.com</email>
</author>
<published>2023-03-16T18:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b92f2805855282cb717c21345dab8ffdc3f1fdd2'/>
<id>urn:sha1:b92f2805855282cb717c21345dab8ffdc3f1fdd2</id>
<content type='text'>
* Support GL_EXT_fragment_shader_barycentric

* Support pervertex  with GL_EXT_fragment_shader_barycentric</content>
</entry>
<entry>
<title>Reimplement address elimination. (#2605)</title>
<updated>2023-01-25T06:16:21+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-01-25T06:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=951ad25e0a9c3b0089c6b996b8e821ac93cf5766'/>
<id>urn:sha1:951ad25e0a9c3b0089c6b996b8e821ac93cf5766</id>
<content type='text'>
* Reimplement address elimination pass.

* Fix error.

* Update test references.

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Full address insts elimination for backward autodiff. (#2604)</title>
<updated>2023-01-23T14:59:25+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-01-23T14:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=46a4d98baa1d43b33717b4377aefeeaf46b9c2ff'/>
<id>urn:sha1:46a4d98baa1d43b33717b4377aefeeaf46b9c2ff</id>
<content type='text'>
Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Improved SCCP, inlining and resource specialization passes, legalize `ImageSubscript` for GLSL (#2146)</title>
<updated>2022-02-26T04:49:31+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2022-02-26T04:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c31577953d5041c82375c22d847c2eba06106c58'/>
<id>urn:sha1:c31577953d5041c82375c22d847c2eba06106c58</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add GLSL/SPIR-V support got GetAttributeAtVertex (#1733)</title>
<updated>2021-03-03T19:45:39+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2021-03-03T19:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=13ff0bd345990c0fdfb7b52ebd5339cddb04889e'/>
<id>urn:sha1:13ff0bd345990c0fdfb7b52ebd5339cddb04889e</id>
<content type='text'>
This change allows varying fragment shader inputs to be declared in a way that allows the `GetAttributeAtVertex` operation to compile to valid code for both D3D and GLSL/SPIR-V/Vulkan.

The key is that rather than just use ordinary `nointerpolation`-qualified inputs the code must declare these varying inputs with a new `pervertex` qualifier that marks them as *only* being usable with `GetAttributeAtVertex`. The `pervertex`-tagged inputs then translate to GLSL inputs using the `pervertexNV` qualifier

Note that this change does *not* include any enforcement of the requirements around how these qualifiers are used (and the compiler doesn't have enforcement for the existing operations like `EvaluateAttributeAtCentroid`). The underlying problem is that the inerpolation-mode qualifiers and explicit interpolation functions in HLSL constitute a kind of rate-qualified type system, but without any systematic rules. It seems wasteful to encode a bunch of ad hoc rules for this stuff as special cases in the compiler when the clear right answer is to implement a systematic approach to rates.</content>
</entry>
</feed>
