-
Notifications
You must be signed in to change notification settings - Fork 435
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
Upgrade to ash 0.38
#2510
Upgrade to ash 0.38
#2510
Conversation
vulkano/src/sync/pipeline.rs
Outdated
SUBPASS_SHADING, SubpassShading = SUBPASS_SHADING_HUAWEI | ||
// TODO: SUBPASS_SHADER? | ||
SUBPASS_SHADING, SubpassShading = SUBPASS_SHADER_HUAWEI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<enum bitpos="39" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI"/>
<enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI" alias="VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI" deprecated="aliased"/>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah this should be SUBPASS_SHADER
now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah the naming was fixed for pipeline stages, but nowhere else (probably because it makes less sense). Still unsure what to do about subpass shading shader
😬
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently that's actually what Vulkan calls it!
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPipelineStageFlagBits2.html#_description
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I raised the question with the docs repo: KhronosGroup/Vulkan-Docs#2343
What still needs to be done for this PR? |
I'm fairly certain to have written a TODO list via |
Regarding the change of |
For what it is worth, raw-window-handle treated this as a breaking change. rust-windowing/raw-window-handle@69d9eac#diff-ee9da70e8a36920d0c024abb7c25308cb435c3dcba46a3566abca2a11fd1cfffL36-R34 I think this is the right thing to do to maintain semantic versioning correctness. |
Sounds good. |
Yes, we followed suit on the |
// TODO: resolve aliases into CommandDefinition immediately? | ||
if let RegistryChild::Commands(commands) = child { | ||
return Some(commands.children.iter().map(|c| { | ||
( | ||
match c { | ||
Command::Alias { name, .. } => name.as_str(), | ||
Command::Definition(d) => d.proto.name.as_str(), | ||
_ => todo!(), | ||
}, | ||
c, | ||
) | ||
})); | ||
} | ||
None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thoughts? This would save on the extra code in autogen/fns.rs
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I plan to refactor a lot of the autogen stuff, so I will have a look at that as well then.
https://github.com/ash-rs/ash/releases/tag/0.38.0
Code compiles, but there's still quite some more cleanup to do across autogenerated files. A future change should more rigorously use the new builder pattern directly on Vulkan structs, so that the borrow checker can accurately track any lifetime and mutable-reference issues on all
PerXXX
structs that are now marked'static
.TODO
autogen
scripts.cargo clippy
on the changes.cargo +nightly fmt
on the changes.if knowledge of this change could be valuable to users. No need to put the
entries to the changelog directly, they will be transferred to the changelog
file by maintainers right after the Pull Request merge.
Please remove any items from the template below that are not applicable.
Github Issues, and highlight important implementation aspects.
Changelog: