<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang/slang-legalize-types.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-04-02T17:34:58+00:00</updated>
<entry>
<title>Metal remove void field (#6725)</title>
<updated>2025-04-02T17:34:58+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-04-02T17:34:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c1f69ca1e29811919dbd2f08a6e2dd498b80aab2'/>
<id>urn:sha1:c1f69ca1e29811919dbd2f08a6e2dd498b80aab2</id>
<content type='text'>
* Reapply "Eliminate empty struct on metal target (#6603)" (#6711)

This reverts commit bc9dc6557fc0cc3a4c0c2ff27e636940e361cf5d.

* Remove argument in make_struct call corresponding to void field

This is a follow-up of #6543, where we leave the VoidType field as it in
make_struct call during legalization pass.

So during cleaning_void IR pass, when we remove "VoidType" from struct,
we will have to also clean up the argument corresponding to the
"VoidType" field.</content>
</entry>
<entry>
<title>Revert "Eliminate empty struct on metal target (#6603)" (#6711)</title>
<updated>2025-03-31T23:31:48+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-03-31T23:31:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=bc9dc6557fc0cc3a4c0c2ff27e636940e361cf5d'/>
<id>urn:sha1:bc9dc6557fc0cc3a4c0c2ff27e636940e361cf5d</id>
<content type='text'>
This reverts commit b3deec2001ea34e20e9a6af8ddf5cf3866cafac0.</content>
</entry>
<entry>
<title>Eliminate empty struct on metal target (#6603)</title>
<updated>2025-03-26T19:42:30+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-03-26T19:42:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b3deec2001ea34e20e9a6af8ddf5cf3866cafac0'/>
<id>urn:sha1:b3deec2001ea34e20e9a6af8ddf5cf3866cafac0</id>
<content type='text'>
* Eliminate empty struct on metal target

Close 6573.

We previously disabled the type legalization for ParameterBlock on
Metal, but Metal doesn't allow empty struct in the argument buffer
which is mapped from ParameterBlock, so we will need legalizeEmptyTypes
on Metal target.

* update test

* update function name</content>
</entry>
<entry>
<title>Allow partial specialization of existential arguments. (#6487)</title>
<updated>2025-03-01T06:46:56+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-03-01T06:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=dd9d24d29c4a9e05a4510eb9959fafa0ed36618b'/>
<id>urn:sha1:dd9d24d29c4a9e05a4510eb9959fafa0ed36618b</id>
<content type='text'>
* Allow partial specialization of existential arguments.

* Fix.

* Add test case for improved diagnostics.

* Fix compile error.

* Fix tests.

* Fix.

* Fix test.

* Fix compile issue.

* Fix typo.

* Address comment.</content>
</entry>
<entry>
<title>Fix crash when handling uninitialized resource type (#6338)</title>
<updated>2025-02-12T21:37:05+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-02-12T21:37:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3f102afe1038882f336dc052a9954811150fa700'/>
<id>urn:sha1:3f102afe1038882f336dc052a9954811150fa700</id>
<content type='text'>
* Fix crash when handling uninitialized resource type

close #6328.

When declare a var with struct type, if the struct has a resource
type field and it doesn't provide explicit constructor, because
slang won't implicit construct such variable at declare site if user
doesn't explicitly call the initializer list, we should report the
resource type field uninitialized as an error to prevent future possible
crash when legalize any use of such variable.</content>
</entry>
<entry>
<title>Add datalayout for constant buffers. (#5608)</title>
<updated>2024-11-21T22:07:23+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-11-21T22:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=fdf061e278720ec066a1fac8f1f35a22e817bf2d'/>
<id>urn:sha1:fdf061e278720ec066a1fac8f1f35a22e817bf2d</id>
<content type='text'>
* Add datalayout for constant buffers.

* Fixes.

* Fix test.

* Fix glsl codegen.

* Update spirv-specific doc.

* Fix test.

* Fix binding in the presense of specialization constants.

* address comments.

* Add a test for constant buffer layout.</content>
</entry>
<entry>
<title>Transfer offset decorations when legalizing laid-out structs (#5525)</title>
<updated>2024-11-11T17:26:55+00:00</updated>
<author>
<name>Anders Leino</name>
<email>aleino@nvidia.com</email>
</author>
<published>2024-11-11T17:26:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9aa7adb417cabfcb441035b415e80691332bcd1b'/>
<id>urn:sha1:9aa7adb417cabfcb441035b415e80691332bcd1b</id>
<content type='text'>
* Transfer offset decorations when legalizing laid-out structs

Struct legalization removing fields not representable in memory should transfer all
decorations in case the struct has already had offsets calculated.

Closes #5264.

* format code

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;
Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Move switch statement bodies to their own lines (#5493)</title>
<updated>2024-11-05T17:47:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-11-05T17:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b118451e301d734e3e783b3acdf871f3f6ea851c'/>
<id>urn:sha1:b118451e301d734e3e783b3acdf871f3f6ea851c</id>
<content type='text'>
* Move switch statement bodies to their own lines

* format

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</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  spirv codegen for pointer to empty structs. (#5355)</title>
<updated>2024-10-21T15:49:15+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-10-21T15:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3e84726f45c66b477569be9e62da71956ab78e94'/>
<id>urn:sha1:3e84726f45c66b477569be9e62da71956ab78e94</id>
<content type='text'>
</content>
</entry>
</feed>
