<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang/slang-ir-translate-glsl-global-var.cpp, 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-28T18:11:26+00:00</updated>
<entry>
<title>Add WaveGetLane* support for Metal and WGSL (#6371)</title>
<updated>2025-02-28T18:11:26+00:00</updated>
<author>
<name>Darren Wihandi</name>
<email>65404740+fairywreath@users.noreply.github.com</email>
</author>
<published>2025-02-28T18:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=66984eb856454d0a372e3b30643823af18612067'/>
<id>urn:sha1:66984eb856454d0a372e3b30643823af18612067</id>
<content type='text'>
* support WaveGetLane* for WGSL and Metal

* update test and glsl support

* address review comments and fix metal test

* add missing pragma guard

* update test

* Revert "update test"

This reverts commit f2b97e91c29de154190710580c343bd0764aedbb.

* update failing glsl metal test and added new test

* make hlsl and glsl outputs similar

* update test

* disable tests for Metal and cleanup

* comment fix

* add expected failures

* correct expected failures list

* remove expected failure

* add tests to expected failure

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Add support for GLSL interface blocks (#6351)</title>
<updated>2025-02-14T00:07:55+00:00</updated>
<author>
<name>cheneym2</name>
<email>acheney@nvidia.com</email>
</author>
<published>2025-02-14T00:07:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=944c19b408f20e6c5495678028f62e4e7040aa3b'/>
<id>urn:sha1:944c19b408f20e6c5495678028f62e4e7040aa3b</id>
<content type='text'>
Adds support for input GLSL interface blocks.

closes #5535 

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Properly plumbing layout for global varyings. (#6198)</title>
<updated>2025-01-28T02:17:16+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-01-28T02:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f030a5ab62235152055fe8a616dd6d0d7ba1c275'/>
<id>urn:sha1:f030a5ab62235152055fe8a616dd6d0d7ba1c275</id>
<content type='text'>
* Properly plumbing layout for global varyings.

* Fix test.</content>
</entry>
<entry>
<title>Implement specialization constant support in numthreads / local_size (#5963)</title>
<updated>2025-01-14T18:32:29+00:00</updated>
<author>
<name>Julius Ikkala</name>
<email>julius.ikkala@gmail.com</email>
</author>
<published>2025-01-14T18:32:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=cbdc7e1219e472fd74f7f559d7e417f233e7df39'/>
<id>urn:sha1:cbdc7e1219e472fd74f7f559d7e417f233e7df39</id>
<content type='text'>
* Allow using specialization constants in numthreads attribute

* Add support for GLSL local_size_x_id syntax

* Fix overeager specialization constant parsing

* Add diagnostics for specialization constant numthreads

* Remove unused variable

* Fix local_size_x_id not finding existing specialization constant

* Allow materializeGetWorkGroupSize to reference specialization constants

* Use SpvOpExecutionModeId for modes that require it

* Cleanup specialization constant numthreads code

* Add tests for specialization constant work group sizes

* Fix implicit Slang::Int -&gt; int32_t cast

* Fix querying thread group size in reflection API

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Lower varying parameters as pointers instead of SSA values. (#5919)</title>
<updated>2025-01-08T06:26:31+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-01-08T06:26:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c43f6fa55aca23365c86c6ec1737d42be74d9d3e'/>
<id>urn:sha1:c43f6fa55aca23365c86c6ec1737d42be74d9d3e</id>
<content type='text'>
* Add executable test on matrix-typed vertex input.
* Fix emit logic of matrix layout qualifier.
* Pass fragment shader varying input by constref to allow EvaluateAttributeAtCentroid etc. to be implemented correctly.</content>
</entry>
<entry>
<title>format</title>
<updated>2024-10-29T06:49:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-29T06:49:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21'/>
<id>urn:sha1:f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21</id>
<content type='text'>
* format

* Minor test fixes

* enable checking cpp format in ci</content>
</entry>
<entry>
<title>Fix bug in `translateGlslGlobalVar()`. (#5181)</title>
<updated>2024-09-28T02:27:20+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-09-28T02:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c55805e9c6dc3a44e3983fea4245cb00d4e318d5'/>
<id>urn:sha1:c55805e9c6dc3a44e3983fea4245cb00d4e318d5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix `WorkgroupSize()` compiler failiure (#4505)</title>
<updated>2024-06-28T13:44:33+00:00</updated>
<author>
<name>ArielG-NV</name>
<email>159081215+ArielG-NV@users.noreply.github.com</email>
</author>
<published>2024-06-28T13:44:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=0b5190226b3061597f0fd88ca6b1f304f2c6af38'/>
<id>urn:sha1:0b5190226b3061597f0fd88ca6b1f304f2c6af38</id>
<content type='text'>
in some cases was not destroying the hoisted to global `WorkgroupSize()` function

removed capability requirement on `gl_WorkGroupSize` since no longer appies (kIROp of `WorkgroupSize` is implemented for all targets)

change when destroying inst</content>
</entry>
<entry>
<title>Fix incorrect drop of decoration when translating glsl global var to entrypoint param. (#4353)</title>
<updated>2024-06-12T16:40:53+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-06-12T16:40:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ec35febb7f1dcc981e83c7ee3e52ab516b50be8a'/>
<id>urn:sha1:ec35febb7f1dcc981e83c7ee3e52ab516b50be8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support derivative functions in compute &amp; capabilities adjustments (#4014)</title>
<updated>2024-04-25T13:18:32+00:00</updated>
<author>
<name>ArielG-NV</name>
<email>159081215+ArielG-NV@users.noreply.github.com</email>
</author>
<published>2024-04-25T13:18:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=366a947cdf2e3c6958b7a9e17d561ce76ab0f594'/>
<id>urn:sha1:366a947cdf2e3c6958b7a9e17d561ce76ab0f594</id>
<content type='text'>
* Support derivative functions in compute &amp; capabilities adjustments

fixes #4000

PR implements derivative functions in compute shaders properly so we have the functionality for SPIR-V &amp; GLSL. Tests reflect fragment and compute paths.

PR also adjusts capabilities to correct wrong SPRI-V target capabilities for when using textures.

Remarks:
1. __requireComputeDerivative(); is a intrinsic_op and not modifier since inlining will destroy the modifier.
2. Derivative mode is tied to an entry point decoration `[DerivativeGroupQuad]`/`[DerivativeGroupLinear]` or GLSL syntax ``derivative_group_linearNV`. Default is to set the mode to `[DerivativeGroupQuad]`

* remove -emit-spirv-directly

* fixes

1. fix minor issue fwidth change where I returned the wrong type
2. fix issue where glslang{glsl-&gt;spirv} is wrong, so we don't run that test and just run the glsl test &amp; direct spir-v test for intrinsic-texture.slang

* adjust as per review and refine code

1. add test to ensure multi-diverging-in-logic entry points work -- 2 functions which may cause computeDerivatives + 1 that uses, 1 that does not.
2. naming
3. use entry point ref graph for c-like-targets
4. reordered some code to util's and removed `static linline` since that was just for ease of coding on my end (should not have been pushed).

* Grammer

* split up source file + issolate GLSL emit path change.

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
</feed>
