<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/bugs/import-with-error.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-06-12T05:33:16+00:00</updated>
<entry>
<title>Fix intermittent debug failures with Debug build (#7369)</title>
<updated>2025-06-12T05:33:16+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-06-12T05:33:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7dad68f869502e5c0ab32c12cbf8db866e020713'/>
<id>urn:sha1:7dad68f869502e5c0ab32c12cbf8db866e020713</id>
<content type='text'>
This PR replaces enable/disable style C function calls with C++ RAII style code.

In debug build, when an assertion failed in between enable and disable functions, an exception is thrown and the disable function is not called. RAII style code is safer for an exception</content>
</entry>
<entry>
<title>Disable 23 tests failing assertions (#7317)</title>
<updated>2025-06-04T01:41:26+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-06-04T01:41:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7f6b683a623ee434e6c720b5bf6c298f389d4b82'/>
<id>urn:sha1:7f6b683a623ee434e6c720b5bf6c298f389d4b82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove non-IR codegen paths (#398)</title>
<updated>2018-02-03T15:30:54+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2018-02-03T15:30:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=662f43fff6721c6cd013a8f1b2639c2e29fe6be3'/>
<id>urn:sha1:662f43fff6721c6cd013a8f1b2639c2e29fe6be3</id>
<content type='text'>
The basic change is simple: remove support for all code generation paths other than the IR.
There is a lot of vestigial code left, but the main logic in `ast-legalize.*` is gone.

Doing this breaks a *lot* of tests, for various reasons:

- We can no longer guarantee exactly matching DXBC or SPIR-V output after things pass through out IR

- Many builtins don't have matching versions defined for GLSL output via IR (even when they had versions defined via the earlier approach that worked with the AST)

- A lot of code creates intermediate values of opaque types in the IR, which turn into opaque-type temporaries that aren't allowed (this breaks many GLSL tests, but also some HLSL)

I implemented some small fixes for issues that I could get working in the time I had, but most of the above are larger than made sense to fix in this commit.

For now I'm disabling the tests that cause problems, but we will need to make a concerted effort to get things working on this new substrate if we are going to make good on our goals.</content>
</entry>
<entry>
<title>Fix handling of errors in imported modules (#387)</title>
<updated>2018-01-26T23:30:23+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2018-01-26T23:30:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=06f0effb848c6b938e03da8a61e44b3d032380e8'/>
<id>urn:sha1:06f0effb848c6b938e03da8a61e44b3d032380e8</id>
<content type='text'>
* Fix handling of errors in imported modules

- If a semantic error is detected in an imported module, then don't try to generate IR code for it

- Also, if a module (transitively) imports itself, then report that as an error
  - The way I'm checking for this is a bit hacky (I'm adding the module to the map of loaded modules, but in an "unfinished" state, and then using that unfinished state to detect the import of a module already being imported).

This isn't a 100% complete solution for any of the related problems, but it improves the user experience for the common case.

* Remove #import test.

The feature is slated to be removed, so it isn't worth fixing up this test case.
</content>
</entry>
</feed>
