<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/cooperative-matrix/return.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-05-17T02:26:44+00:00</updated>
<entry>
<title>Support Vulkan memory model (#7057)</title>
<updated>2025-05-17T02:26:44+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-05-17T02:26:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d58243d9041947c99f18b82385e62c082507decb'/>
<id>urn:sha1:d58243d9041947c99f18b82385e62c082507decb</id>
<content type='text'>
The user can explicitly use Vulkan memory model, or it will be
automatically used when cooperative-matrix is used.

When vulkan memory model is used, two keywords, "Coherent" and
"Volatile", are not allowed.

There are many differences regarding atomic and texture but
this PR has changes limited to support `globallycoherent`
keyword. When variables with `globallycoherent` is used with `OpLoad`, it
will use additional options, `MakePointerAvailable|NonPrivatePointer`,
that will provide the same effect. For `OpStore`, it will use
`MakePointerVisible|NonPrivatePointer`.
</content>
</entry>
<entry>
<title>Fix broken -emit-spirv-via-glsl test option (#7091)</title>
<updated>2025-05-16T00:01:08+00:00</updated>
<author>
<name>sricker-nvidia</name>
<email>115114531+sricker-nvidia@users.noreply.github.com</email>
</author>
<published>2025-05-16T00:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b39ec87cccaadebbb9325dd2adb8c0b13b364805'/>
<id>urn:sha1:b39ec87cccaadebbb9325dd2adb8c0b13b364805</id>
<content type='text'>
Fixes issue #6898

The -emit-spirv-via-glsl slang-test option has been broken for
some amount of time. Tests that were using it were operating as
if using -emit-spirv-directly, leading to many duplicated tests.

After fixing the test option, there were an number of errors that
appeared as a result.

This change fixes the broken test option and the resulting test
errors. Some of the test errors revealed some legitimate issues,
such as:

-The GLSL bitCount instrinsic only supports 32-bit integers and
 requires emulation for other bit widths.
-Emitting GLSL 8-bit and 16-bit glsl integer types did not emit
 the proper extension requirements
-Emitting GLSL and casting for 16-bit integers was missing a
 closing parenthesis.
-Missing profile for GL_EXT_shader_explicit_arithmetic_types
-Missing toType cases for UInt8/Int8 for the kIROp_BitCast case
 in tryEmitInstExprImpl.</content>
</entry>
<entry>
<title>Add new coopmat2 functions: Reduce and Transpose (#7027)</title>
<updated>2025-05-15T03:47:43+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-05-15T03:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2580bb02f7a079ab1c0106b5960a21ed1627bca0'/>
<id>urn:sha1:2580bb02f7a079ab1c0106b5960a21ed1627bca0</id>
<content type='text'>
This commit adds three new functions for CoopMat as described in the proposal document,

Cooperative matrix 2 proposal spec#12
The new functions are:

CoopMat&lt;T,S,M,N,R&gt;::Transpose
CoopMat&lt;T,S,M,N,R&gt;::ReduceRow
CoopMat&lt;T,S,M,N,R&gt;::ReduceColumn
CoopMat&lt;T,S,M,N,R&gt;::ReduceRowAndColumn
CoopMat&lt;T,S,M,N,R&gt;::Reduce2x2</content>
</entry>
<entry>
<title>Update spirv-tools to for SDK v2025.2 (#6893)</title>
<updated>2025-04-25T17:39:45+00:00</updated>
<author>
<name>Gangzheng Tong</name>
<email>tonggangzheng@gmail.com</email>
</author>
<published>2025-04-25T17:39:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d84aeeffdba388aec7a781c35973bf404d37fe80'/>
<id>urn:sha1:d84aeeffdba388aec7a781c35973bf404d37fe80</id>
<content type='text'>
* Update spirv-tools to for SDK v2025.2

Fixes: #6850

* bump spirv version to 1.4 for op linkage

* skip-spirv-validation for coop mat

* add skip-spirv-validation option to slang session desc

* use SPV_ENV_UNIVERSAL_1_6 for spirv-tool env target

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

---------

Co-authored-by: slangbot &lt;ellieh+slangbot@nvidia.com&gt;
Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Add cooperative matrix 1 support (#6565)</title>
<updated>2025-04-15T21:57:45+00:00</updated>
<author>
<name>Darren Wihandi</name>
<email>65404740+fairywreath@users.noreply.github.com</email>
</author>
<published>2025-04-15T21:57:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d0b6a0b1ab49b5958015f31364c5ad73d9cd03eb'/>
<id>urn:sha1:d0b6a0b1ab49b5958015f31364c5ad73d9cd03eb</id>
<content type='text'>
* initial wip for spirv

* working tiled example

* clean up store and load

* minor fixes

* fix loadAny name

* add initial tests, including broken/unimplemented intrinsics

* fix subscript

* run tests at 16x16, remove not supported arithmetic tests

* minor fixups on implementation

* rename CoopMatMatrixUse

* Update tests to pass validation layers locally

* Add mat-mul-add test and minor fixes

* Add more tests

* Remove dead code

* Add coopMatLoad function and tests, enforce constexpr for matrix layout

* Use getVectorOrCoopMatrixElementType in place of getVectorElementType</content>
</entry>
</feed>
