-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Use upstream interface for consuming SPIR-V #8265
Conversation
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.
LGTM... but how will this work for Make users? :-/
The relevant part of the Makefile is here:
The changes in this PR shouldn't break the Make build. |
Is this a correct understanding: The headers still seem to be there, just renamed, so no Makefile changes are necessary. This just adds a feature for cmake users to use a different version from upstream, and also adds a script to update our vendored headers. |
Yes, though I would argue that the headers are _un_renamed; they had been put into a |
LGTM! Thanks for cleaning things up! There was a lot of churn in the Khronos repo when I was updating the SPIR-V backend. I guess my only concern is that if third-parties wish to override the headers, that this may introduce incompatibilities or a mismatch with the Vulkan runtime. |
Based on my understanding of the unified1 format, we should be good to go for the future; the definitions we rely on should be stable until there is a major version bump (unified2?) |
4c021af
to
3be8832
Compare
3be8832
to
434aa11
Compare
As I want to resume work on our Python packaging, an important prerequisite is auditing our dependencies and the way we consume them / ask downstreams to consume the public subset.
Our vendored SPIR-V headers had diverged from upstream practice for no particular reason. This PR replaces
Halide::SPIRV
with the upstreamSPIRV-Headers::SPIRV-Headers
and usesfind_package
on the upstream CMake package files. This additionally makes it possible for a third-party to easily override the vendored headers.I also include a script for automatically updating the SPIRV-Headers in the future.