<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang/slang-legalize-types.h, 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>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>Parameter layout and reflection for Metal bindings. (#4022)</title>
<updated>2024-04-24T23:23:35+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-04-24T23:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d3ed08ec3073c3cb9ac24fa3670784dd6e97a164'/>
<id>urn:sha1:d3ed08ec3073c3cb9ac24fa3670784dd6e97a164</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pointer layout support (#2930)</title>
<updated>2023-06-27T15:28:14+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-06-27T15:28:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1b01ff909afa1eb6700c0dc947e679b9c3890880'/>
<id>urn:sha1:1b01ff909afa1eb6700c0dc947e679b9c3890880</id>
<content type='text'>
* WIP looking at reflection with pointers.

* Added GetPointerLayout.

* Initial test via reflection with layout of ptr type.

* WIP handles ptrs to types that have layout that hasn't been completed.

* Move tests to ptr.

* WIP try to take into account lowering correctly between AggTypeDecl and Type, but doesn't quite work.

* WIP a different path to handling recursive lowering problem with Ptr.

* Fix issues with reflection output.

* Small tidy.

* Fix for infinite recursion issue.

* Lower IRPointerTypeLayout

* Working with generics.
Has a hack to work around Layout around Ptr in IR.
The reflection around the generic - the name isn't much use, it should probably have the generic parameters, but that would require getName to do something more sophisticated.

* Fix issue around calling finishOuterGenerics to early.

* Remove feature/ptr test.

* Fix type legalization being an infinite loop with Ptr self referencing.

* Disable the pointer self reference test because produces an infintie loop on emit.

* Fixed comment based on review.

* Fix for issue with emit and pointers causing infinite recursion.</content>
</entry>
<entry>
<title>Support recomputing phi params in bwd prop func. (#2841)</title>
<updated>2023-04-26T01:32:45+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-04-26T01:32:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1717c6c507043a5cc960c2344dd556524804ce59'/>
<id>urn:sha1:1717c6c507043a5cc960c2344dd556524804ce59</id>
<content type='text'>
</content>
</entry>
</feed>
