<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/language-feature/capability/capability6.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>2024-07-25T22:04:47+00:00</updated>
<entry>
<title>Add `_Internal`/`External` atom enforcement and validation. (#4702)</title>
<updated>2024-07-25T22:04:47+00:00</updated>
<author>
<name>ArielG-NV</name>
<email>159081215+ArielG-NV@users.noreply.github.com</email>
</author>
<published>2024-07-25T22:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2e7e2b568ce93697e36a7c0b50364dc78bd1bb97'/>
<id>urn:sha1:2e7e2b568ce93697e36a7c0b50364dc78bd1bb97</id>
<content type='text'>
* Add `_Internal`/`External` atom validation and use enforcement.

Fixes: #4676

Changes:
* Added `validateInternalAtomExternalAtomPair` to the capability generator to ensure all `_Internal` atoms have a corresponding `External` atom.
* Validation of 'RequireCapabilityAttribute' warns if a user uses an '_Internal' atom.
* Added 'External' atoms to atoms with an already existing '_Internal' atom.
* Printing an atom removes '_'.
* Fixed some incorrect which were checking for the incorrect warning/error (capability4.slang, capability5.slang, capability6.slang).

* switch capability name to use `UnownedStringSlice` instead of `const char*`

switch capability name to use `UnownedStringSlice` instead of `const char*`, this includes using functions like `.startsWith`.

* grammer

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Emit errors when invalid capabilities are used (#4510)</title>
<updated>2024-07-02T17:35:49+00:00</updated>
<author>
<name>ArielG-NV</name>
<email>159081215+ArielG-NV@users.noreply.github.com</email>
</author>
<published>2024-07-02T17:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d5d03d1510f45f5ed7864031244713d87fc82b87'/>
<id>urn:sha1:d5d03d1510f45f5ed7864031244713d87fc82b87</id>
<content type='text'>
* Fix invalid capabilities being allowed

fixes: #4506
fixes: #4508

1. As per #4506, no longer allow invalid `[require(...)]`
2. As per #4508, no longer allow mismatch between `case` and `require` of a calling function
3. Fixes incorrect hlsl.meta capabilities
4. Added a ref to the parent function/decl for when erroring with capabilities to help debug meta.slang files for when weird source locations are generated.

* rename vars and copy lambdas by value

* fix some more capabilities

* incorrect capabilities on a texture test

* push capabilities fix

note: seperated capabilities for glsl,spirv,cuda,hlsl since not all functions support all targets (source of capability error)

* fix cmd line arg by using `xslang` to passthrough to slangc

* let auto-infer run for certain capabilities to reduce simple mistakes

---------

Co-authored-by: Jay Kwak &lt;82421531+jkwak-work@users.noreply.github.com&gt;</content>
</entry>
</feed>
