Skip to content

Conversation

squidbus
Copy link
Collaborator

@squidbus squidbus commented Oct 11, 2025

Made an attempt at wiring up mesh shader support in MoltenVK. The Vulkan-Samples mesh_shading example works, however trying to run CTS, well...

./deqp-vk --deqp-case="dEQP-VK.mesh_shader.ext.smoke.monolithic.mesh_task_shader_triangle"

...

[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Render pipeline compile failed (Error code 3):
Internal compiler error..
  Fail (retcode: VK_ERROR_INITIALIZATION_FAILED at vkPipelineConstructionUtil.cpp:176)

If anyone has any ideas on debugging that, would be appreciated.

TO-DO list:

  • Successfully run at least one relevant CTS test.
  • Fix internal compile error for most shaders.
  • Deal with missing DrawIndex SPIR-V built-in which is used by many test cases.
  • Finish filling out properties structure. Took care of the ones I could figure out, if anyone can help figure out the remaining ones would be appreciated as well.

And lastly, multiview is not supported in this PR. It seems like a lot would need to be done to wire up the way multiview works currently to mesh shaders, and the extension has a feature flag for this, so it's disabled for now.

@squidbus squidbus marked this pull request as draft October 11, 2025 02:54
@oscarbg
Copy link

oscarbg commented Oct 11, 2025

super nice, as always!
can you share if this work inherits some code from previous (stale?) PR:
#1845?
also don't see any related SPIRV-Cross work.. how can the sample work? Vulkan-Samples mesh_shading example

@squidbus
Copy link
Collaborator Author

super nice, as always! can you share if this work inherits some code from previous (stale?) PR: #1845?

Originally intended to update that PR, but the code has changed too much since then especially with the new state tracking and descriptor set implementation recently, so it had to be re-done.

also don't see any related SPIRV-Cross work.. how can the sample work? Vulkan-Samples mesh_shading example

SPIRV-Cross already had mesh shader support merged some time back.

@squidbus
Copy link
Collaborator Author

Able to do a full CTS run of dEQP-VK.mesh_shader.ext.* now, long way to go though, mostly shader issues:

Test run totals:
  Passed:        46/26767 (0.2%)
  Failed:        569/26767 (2.1%)
  Not supported: 26152/26767 (97.7%)
  Warnings:      0/26767 (0.0%)
  Waived:        0/26767 (0.0%)

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.

2 participants