<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/render/imported-parameters.hlsl, 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-03-12T11:44:57+00:00</updated>
<entry>
<title>Migrate render-test away from deprecated compile request API (#6514)</title>
<updated>2025-03-12T11:44:57+00:00</updated>
<author>
<name>Anders Leino</name>
<email>aleino@nvidia.com</email>
</author>
<published>2025-03-12T11:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f4d5372d3354e62770b076b47892b5172223e98a'/>
<id>urn:sha1:f4d5372d3354e62770b076b47892b5172223e98a</id>
<content type='text'>
* Add a simple interface parameter test

Since there's no documentation, it's nice to have a simple test case in order to
experiment with this feature of the testing framework.

* Add shader entry point attributes to tests

* Fix specialization arguments for tests

- Add some missing arguments
- Rremove one extraneous argument.

* Stop using deprecated compile request in render-test

Use a session object instead of the deprecated compile request object.
This closes issue #4760.</content>
</entry>
<entry>
<title>Enable some rendering tests (#5623)</title>
<updated>2024-11-21T19:42:29+00:00</updated>
<author>
<name>Anders Leino</name>
<email>aleino@nvidia.com</email>
</author>
<published>2024-11-21T19:42:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=dcc7c6f009afc0f55e79ced050b772ea9d3b25ae'/>
<id>urn:sha1:dcc7c6f009afc0f55e79ced050b772ea9d3b25ae</id>
<content type='text'>
* render-test: Add copy-source usage for render targets

I found that Slang-RHI/WGPU was not able to copy from render targets to staging buffers.

This helps to address issue #4943.

* Add entries to render API util infos

Entries for glsl-cross and glsl-rewrite are added.

Without glsl-cross, slang-test fails to select a back-end, and winds up crashing when
tests/render/cross-compile-entry-point.slang is enabled

tests/render/cross-compile0.hlsl fails similarly without glsl-rewrite.

* Enable some rendering tests

* Add expected test outputs</content>
</entry>
<entry>
<title>Remove old code paths from render-test (#1760)</title>
<updated>2021-03-17T19:55:30+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2021-03-17T19:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=6e5d85efb9fa5f647f7f0c7ef784a9fd09b29023'/>
<id>urn:sha1:6e5d85efb9fa5f647f7f0c7ef784a9fd09b29023</id>
<content type='text'>
* Remove old code paths from render-test

Historically, the `render-test` tool was using three different code paths:

* One based on `gfx` and manual (non-reflection-based) parameter setting, used for OpenGL, D3D11, D3D12, and Vulkan
* One for CPU that used reflection-based parameter setting but shared no code with the first
* One for CUDA that used reflection-based parameter setting and shared some, but not all, code with the CPU path

Recently we've updated `render-test` to include a fourth option:

* Using `gfx` and the "shader object" system it exposes for a unified reflection-based parameter-setting system taht works across OpenGL, D3D11, D3D12, Vulkan, CUDA, and CPU

This change removes the first three options and leaves only the single unified path. A sa result, a bunch of code in `render-test` is no longer needed, and the codebase no longer relies on things like the `IDescriptorSet`-related APIs in `gfx`.

Several existing tests had to be disabled to make this change possible. Those tests will need to be audited and either re-enabled once we fix issues in the shader object system, or permanently removed if they don't test stuff we intend to support in the long run (e.g., global-scope type parameters, which aren't a clear necessity).

* fixup: CUDA detection logic</content>
</entry>
<entry>
<title>Feature/renderer binding (#489)</title>
<updated>2018-04-17T20:59:03+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2018-04-17T20:59:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=00389a127af8db18a3ec8fe7ad2dd114a65ac024'/>
<id>urn:sha1:00389a127af8db18a3ec8fe7ad2dd114a65ac024</id>
<content type='text'>
* Dx12 rendering works in test framework.

* Turn on dx12 render tests.

* First pass at Resource and TextureResource/BufferResource types.

* Fix bug in Dx11 impl for BufferResource.

* Dx12 supports TextureResource and binds using TextureResource type, and all tests pass.

* Added TextureBuffer::Size type to make handling mips a little simpler.

* Small improvements to Dx12 constant buffer binding
Removed k prefix on an enum

* First pass impl of dx11 createTextureResource
Added setDefaults to TextureResource::Desc and BufferResource::Desc to simplify setup
accessFlags -&gt; cpuAccessFlags
desc -&gt; srcDesc

* Split out generateTextureResource - can produce the texture using createTextureResource on the Renderer.

* Added support for read mapping to Dx11
accessFlags -&gt; cpuAccessFlags
First pass at using TextureResource/BufferResource on Dx11
Some tests fail with this checkin

* TextureResource working on all tests on dx11.

* Construct ResourceBuffers on Dx11 and Dx12 using utility function createInputBufferResource.

* First pass at OpenGl TextureResource

* Small fixes to dx12 and dx11 setup.
Gl working working using BufferResource and TextureResource

* Tidy up around the compareSampler - looks like the previous test was incorrect.

* Small documentation /naming improvements.

* Fix some more small documentation issues.
</content>
</entry>
<entry>
<title>Feature/dx12 compute (#483)</title>
<updated>2018-04-11T19:55:44+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2018-04-11T19:55:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=6322983fa4dc84ef1e9dd8fad54d4c1580436e67'/>
<id>urn:sha1:6322983fa4dc84ef1e9dd8fad54d4c1580436e67</id>
<content type='text'>
* Dx12 rendering works in test framework.

* Turn on dx12 render tests.

* Getting simpler dx12 compute tests to work.

* With expected data in test - check for specialized and then for the default, so that multiple test can share the same expected data, but specialized cases can still be set.

* Fixed construction and binding on dx12 textures.

* Control which render apis used in test from command line.

* Small aesthetic fixes in render-test/main.cpp.

* Fix binding problem for uavs/srvs dx12. Previously tried to create srv/uav for StorageBuffers (like dx11 does), but the binding breaks as you can end up with two srvs using the same register.
First pass at fixing problems with Texture creation for dx12 - assertions were hit with 3d or array textures.

* Fixes to improve Dx12 setup shader resource views for cubemaps/arrays.

* Fixed d3d12 textureSamplingTest - problem was that cubemap/array textures were not being uploaded correctly.

* Changed the order of how binding of constant buffers (as just set on the Renderer) indexes. Previously they were given the lowest indices, but they clashed with the indices from the 'Binding'. Changing this means all tests run on d3d12.

* Add code to allow use of warp (although not command line switchable yet).
Fix problem setting up raw UAV - as identified by warp.

* Added RenderApiUtil - which can detect if a render api is potentially available.

* Moved render flag testing/parsing into RenderApiUtil.

* Fix signed/unsigned warning.

* Fixes around enums prefixed with k on the review of feature/dx12 compute branch.

* Remove explicit -dx12 line in tests, as all can currently be generated from dx11 tests.
</content>
</entry>
<entry>
<title>Switch on dx12 testing for remaining render tests. (#477)</title>
<updated>2018-04-04T21:23:49+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2018-04-04T21:23:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=071566c5c64d62f7f894b14b1077f0b2a4038903'/>
<id>urn:sha1:071566c5c64d62f7f894b14b1077f0b2a4038903</id>
<content type='text'>
* Dx12 rendering works in test framework.

* Turn on dx12 render tests.
</content>
</entry>
<entry>
<title>Change uses of "spire" to "slang" (#461)</title>
<updated>2018-03-29T20:40:55+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2018-03-29T20:40:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b61371d06c3ac18d1df6798b8042d4252485d935'/>
<id>urn:sha1:b61371d06c3ac18d1df6798b8042d4252485d935</id>
<content type='text'>
Fixes #350

When the Slang project forked off from the Spire research effort, we renamed things as we went, but many cases seem to have slipped through the cracks.

The two biggest diffs here are:

- The `hello` example program was incorrectly talking about what was in the shader file (Slang no longer supports the "module" or "pipeline" constructs from Spire), and so it wasn't just a simple rename.

- The files under `tests/bindings` were mistakenly using `__SPIRE__` as a preprocessor guard, which means that they weren't actually testing what they meant to. Luckily, it looks like the relevant functionality didn't regress while these tests were unintentionally deactivated.</content>
</entry>
<entry>
<title>Remove support for the -no-checking flag (#392)</title>
<updated>2018-02-02T16:49:04+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2018-02-02T16:49:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=0360f81b9741ece65768a65731bd23455a3b7a96'/>
<id>urn:sha1:0360f81b9741ece65768a65731bd23455a3b7a96</id>
<content type='text'>
* Remove support for the -no-checking flag

Fixes #381
Fixes #383
Work on #382

- No longer expose flag through API (`SLANG_COMPILE_FLAG_NO_CHECKING`) and command-line (`-no-checking`) options

- Remove all logic in `check.cpp` that was withholding diagnostics (including errors) when the no-checking mode was enabled

- Remove `HiddenImplicitCastExpr`, which was only created to support no-checking mode (it represented an implicit cast that our checking through was needed, but couldn't emit because it might be wrong)

- Remove logic for storing function bodies as raw token lists when checking is turned off. I'm leaving in the `UnparsedStmt` AST node in case we ever need/want to lazily parse and check function bodies down the line.

- Remove a few of the code-generation paths we had to contend with, but keep the comment about them in place.

- Remove GLSL-based tests that can't meaningfully work with the new approach.

- Fix other tests that used a GLSL baseline so that their GLSL compiles with `-pass-through glslang` instead of invoking `slang` with the `-no-checking` flag.

- Remove tests that were explicitly added to test the "rewriter + IR" path, since that is no longer supported.

There is more cleanup that can be done here, now that we know that AST-based rewrite and IR will never co-exist, but it is probably easier to deal with that as part of removing the AST-based rewrite path.

We've lost some test coverage here, but actually not too much if we consider that we are dropping GLSL input anyway.

* Fixup: test runner was mis-counting ignored tests

* Fixup: turn on dumping on test failure under Travis

* Fixup: enable extensions in Linux build of glslang
</content>
</entry>
<entry>
<title>Cleanups for test cases:</title>
<updated>2017-07-10T16:04:50+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoley@nvidia.com</email>
</author>
<published>2017-07-10T16:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7af89d178736637cfad9c195f85f7f83e2f4ba99'/>
<id>urn:sha1:7af89d178736637cfad9c195f85f7f83e2f4ba99</id>
<content type='text'>
- Allow a code-generation target of `NONE` in order to suppress ordinary output in test cases where we don't care about the actual output (just pass/fail result)

- Add explicit `location` layout qualifiers to intermediate vertex-to-fragment variables in GLSL test cases for rendering, to work around apparent Intel driver bugs.
</content>
</entry>
<entry>
<title>Emit global-scope parameters from imported files.</title>
<updated>2017-06-27T16:13:19+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoley@nvidia.com</email>
</author>
<published>2017-06-27T16:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=996d4dc537272e36dde1d9c1110064d597fa212f'/>
<id>urn:sha1:996d4dc537272e36dde1d9c1110064d597fa212f</id>
<content type='text'>
This fixes up a bug in the earlier change that provided reflection for imported parameters; I'd failed to confirm that the code generation logic can handle imported parameters correctly.

The main fix was to have an `import` declaration automatically use the global-scope layout already determined, sine imported parameters will in general appear there.
</content>
</entry>
</feed>
