<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/cross-compile/sv-coverage.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-06-08T12:12:49+00:00</updated>
<entry>
<title>SPIRV `Block` decoration fixes. (#4303)</title>
<updated>2024-06-08T12:12:49+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-06-08T12:12:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9a23a9aab3721828526c921db1e779008e133e8f'/>
<id>urn:sha1:9a23a9aab3721828526c921db1e779008e133e8f</id>
<content type='text'>
* SPIRV `Block` decoration fixes.

- SPIRV does not allow duplicate `Block` decorations. So we shouldn't be generating them.

- Also fixes duplication of OpName.

- SPIRV and HLSL do not allow ConstantBuffer with trailing unsized arrays. Added a check in the front-end against such code.

* Convert failing cross-compile tests to filecheck.

---------

Co-authored-by: Jay Kwak &lt;82421531+jkwak-work@users.noreply.github.com&gt;</content>
</entry>
<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>Enable all dynamic dispatch tests on CUDA. (#1552)</title>
<updated>2020-09-21T15:27:10+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2020-09-21T15:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=83514bd25160a9af91abc1b9acd7e44657447526'/>
<id>urn:sha1:83514bd25160a9af91abc1b9acd7e44657447526</id>
<content type='text'>
* Enable all dynamic dispatch tests on CUDA.

* Fix expected cross-compile test results.</content>
</entry>
<entry>
<title>Fix support for SV_Coverage on GLSL path (#1239)</title>
<updated>2020-02-24T19:46:59+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2020-02-24T19:46:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=777ac2bdde2db8ec3f24034022acfb893924de5a'/>
<id>urn:sha1:777ac2bdde2db8ec3f24034022acfb893924de5a</id>
<content type='text'>
There were two overlapping issues here:

1. We always mapped `SV_Coverage` to `gl_SampleMask`, even though `gl_SampleMaskIn` is the correct built-in variable to use for an input varying.

2. We treated `gl_SampleMask` like it was a scalar shader input, when it and `gl_SampleMaskIn` are actually arrays of indeterminate size (as a byproduct of trying to future-proof for implementations that might support hundreds or thousands of samples per pixel...)

The fix here is simple: map to either `gl_SampleMask[0]` or `gl_SampleMaskIn[0]` as appropriate. I suppose that this approach doesn't handle the possibility of eventually supporting &gt;32 samples per pixel by having something like `uint2 coverage : SV_Coverage`, but I think we can cross that bridge when we come to it.</content>
</entry>
</feed>
