Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Writing ICD(s) in Rust #575

Closed
cheako opened this issue Feb 6, 2022 · 1 comment
Closed

Writing ICD(s) in Rust #575

cheako opened this issue Feb 6, 2022 · 1 comment

Comments

@cheako
Copy link

cheako commented Feb 6, 2022

Along with #573 some patterns, useful for Layers, are applicable to device drivers.

  • An Iterator over vk::BaseInStructure
  • Picking members out of such an iterator.

https://gitlab.com/cheako/vk-layer-cache/-/blob/ff04a089e3335ef1823ec5280781b9be14fcc0f3/src/handlers/types.rs

@MarijnS95
Copy link
Collaborator

Assuming with "iterator over vk::BaseInStructure members" you are referring to iterating over pNext chains and casting to the corresponding type based on sType tag, this was implemented in #614.

Other than that Mesa developers are already experimenting with Rust-written Vulkan drivers (https://www.collabora.com/news-and-blog/blog/2023/02/02/exploring-rust-for-vulkan-drivers-part-1/) and I've already given them my full support to cater Ash to that use-case if they wish to use it. Until that happens, which appears to be the most concrete endeavour for Rust-written ICDs, there's nothing actionable here (beyond the Base*Structure matching that was already implemented) and I'll close this issue.

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

No branches or pull requests

2 participants