Skip to content

Conversation

eddyb
Copy link
Collaborator

@eddyb eddyb commented Sep 8, 2025

More recent Vulkan SDK versions have started complaining about types having explicit memory layout, when used with memory that doesn't inherently require explicit layouts (only push constants and buffers really do), e.g.:

error: line 1097: [VUID-StandaloneSpirv-None-10684] Invalid explicit layout decorations on type for operand '367[%_ptr_Function__struct_61]'
  %1207 = OpVariable %_ptr_Function__struct_61 Function

The solution used here is simpler and more specialized (a pass that erases the explicit layout decorations from types behind pointers in storage classes that don't support them, combined with updating affected loads/stores) than what I originally described in #266 (comment), so we can hopefully use this for now and not worry about spirt::{mem,qptr} for the next release.


TODO: before landing this, we should update spirv-tools-rs as well (I only changed the Vulkan SDK version that is used for CI, via the use-installed-tools feature).

@eddyb eddyb marked this pull request as draft September 8, 2025 12:30
@eddyb eddyb force-pushed the erase-explicit-layout-sometimes-maybe branch 2 times, most recently from 3222ed1 to 0fd77cb Compare September 8, 2025 12:34
@eddyb eddyb force-pushed the erase-explicit-layout-sometimes-maybe branch from 0fd77cb to 707bdcc Compare September 9, 2025 08:45
Comment on lines 32 to +36
- if: ${{ runner.os == 'Windows' }}
name: Install Vulkan Runtime with SwiftShader (Windows)
uses: NcStudios/VulkanCI@v1.2
with:
sdkVersion: 1.4.309.0
sdkVersion: 1.4.321.0
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

At the very least the Windows CI doesn't work, because this NcStudios/VulkanCI action is stuck on specific versions of the Vulkan SDK, not sure what to do about that - can we get SwiftShader from elsewhere?

Copy link
Collaborator

@LegNeato LegNeato Sep 10, 2025

Choose a reason for hiding this comment

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

I only did swiftshader to work around a windows bug in their fake GPU thing. Actions are updating (actions/runner-images#12677) so maybe it isn't even needed now?

Copy link
Collaborator

Choose a reason for hiding this comment

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

(I also put up a PR for the action but who knows when it will get merged)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

spirv-tools v2025.2 makes compiletest fail Workgroup doesn't work in MoltenVk
2 participants