-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[naga spv-out] Add f16 io polyfill #7884
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
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.
Mostly LGTM, but I noticed some things that seem like potential issues.
I also think the API could use some work, but let's iterate on that in follow-up PRs.
44c88df
to
ca906b2
Compare
ca906b2
to
a8cddd9
Compare
@cryvosh @ErichDonGubler What are the next steps here? I see questions from Erich that haven't been answered yet. |
Hey sorry been busy, will address when I get a chance |
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.
Nice work!
Connections
Extension of #7656
Description
Polyfills f16 I/O when storageInputOutput16 capability is missing on vulkan backend.
Emits these variables as f32 and inserts OpFConverts at loads/stores.
If capability is available, generated spirv is unaffected.
Testing
Added a snapshot test and some basic inspection of the spirv disassembly in spirv_capabilities.rs.
Generated spirv in snapshots look okay to me, but I haven't yet run any live correctness tests.
Squash or Rebase?
Squash
Checklist
cargo fmt
.taplo format
.cargo clippy --tests
. If applicable, add:--target wasm32-unknown-unknown
cargo xtask test
to run tests.CHANGELOG.md
entry.