Skip to content

Conversation

@jhelferty-nv
Copy link
Contributor

Enables all tests/metal/ tests that can be easily enabled.

These tests were not originally designed as render tests; they are generally being enabled for pipecleaning purposes, and will not be rigorously testing the corresponding funcitonality.

Where they cannot be enabled as render tests, and a metallib test wasn't already enabled, a metallib test was enabled instead (where possible).

Fixes #7892

Enables all tests/metal/ tests that can be easily enabled.

These tests were not originally designed as render tests; they are
generally being enabled for pipecleaning purposes, and will not be
rigorously testing the corresponding funcitonality.

Where they cannot be enabled as render tests, and metallib wasn't
enabled, where possible metallib was enabled instead.

Fixes shader-slang#7892
@jhelferty-nv jhelferty-nv requested a review from a team as a code owner September 15, 2025 23:13
@jhelferty-nv jhelferty-nv added pr: non-breaking PRs without breaking changes DiscordRequest labels Sep 16, 2025
Copy link
Collaborator

@jkwak-work jkwak-work left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me overall.
I left a few comments.

Note that whenever we can run the runtime test for Metal, it is also expected to run with Vulkan with the exactly same result.

@@ -1,18 +1,24 @@
//TEST:SIMPLE(filecheck=CHECK): -target metal
//TEST:SIMPLE(filecheck=CHECK-ASM): -target metallib
// NOTE: Test not designed for compute, executing for pipecleaning only
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need this comment.
We have a lot of tests that are just too simple to be useful but works as smoke tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood.

It worries me a bit how redundant/duplicative some of our testing is. I've seem a (smoke) argument to //TEST in some places.. is that intended to indicate these sorts of scenarios, or does it serve a different purpose?

@jhelferty-nv
Copy link
Contributor Author

Two remaining failures:

test-macos-release-clang-aarch64 / test-slang

test-windows-release-cl-x86_64-gpu / test-slang

  • tests/metal/pointer-literals.slang.3 (vk)
    • still need to dig into

Make the M1 runners happy by allowing a wider range of floating point
values. (Roughly corresponds to what's documented in the Metal spec.)
@jhelferty-nv
Copy link
Contributor Author

I'm not able to repro the pointer-literals.slang failure locally on my windows box.

CI is giving the following error:

ignored test: 'tests/metal/pointer-literals.slang.3 (vk)' 
glslang:  tests/metal/pointer-literals.slang(22): error :  '_data' : illegal use of type 'void' 
glslang:  tests/metal/pointer-literals.slang(22): error :  '' : compilation terminated 
glslang: note : ERROR: 2 compilation errors.  No code generated.

Not sure if this is a CI issue or a local issue. I do have VulkanSDK installed locally, so I guess theoretically that might be interfering with the slang in external/glslang? Or it could be a CI issue, since it works locally, and I'd like to think it's correct. Checking with others for ideas..

@jhelferty-nv jhelferty-nv marked this pull request as draft September 26, 2025 13:17
@jhelferty-nv jhelferty-nv marked this pull request as ready for review September 26, 2025 16:37
@jhelferty-nv
Copy link
Contributor Author

@jkwak-work mind taking another look? I think all of the issues have been dealt with now.

Copy link
Collaborator

@jkwak-work jkwak-work left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.
Thanks for also enabling some of vk tests as well.

@jhelferty-nv jhelferty-nv added this pull request to the merge queue Sep 30, 2025
Merged via the queue into shader-slang:master with commit 8086adc Sep 30, 2025
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DiscordRequest pr: non-breaking PRs without breaking changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable executable tests for Metal tests

2 participants