-
Notifications
You must be signed in to change notification settings - Fork 933
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
spv-in parse more atomic ops #5824
spv-in parse more atomic ops #5824
Conversation
9c40733
to
6df6ec9
Compare
df45dc6
to
5007742
Compare
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.
The tests in src/front/atomic_upgrade.rs
really belong in src/front/spv
. We can't have SPIR-V specific code outside src/front/spv
and src/back/spv
.
5b24147
to
2c65b11
Compare
@teoxoy do you think you would feel comfortable giving this a look over? |
cd49517
to
2695c3c
Compare
2695c3c
to
9e5d4e1
Compare
@jimblandy do you have any more comments? I think we're getting pretty close with this 🤞 . |
3d6ef1b
to
f7001b5
Compare
@jimblandy that commit seems just fine 👍 |
@schell So, right now this branch has a bunch of merges from trunk. We are generally trying to merge PRs by rebasing, because we don't want the work-in-progress commits in our history forever. Could you change this PR's branch to be merge-free? Edit: I believe the standard |
@jimblandy I rebased earlier today, so I think we're good to go - though now it's out of date again, so I'll do that again. |
…suppress a double load expression bookend atomic result expressions with emitter.finish/start to prevent double defs
Ok - my rebase earlier clobbered your "span" commit, so I cherry-picked it back in. The change of |
Tests still pass and everything :) |
9817ed5
to
69fc037
Compare
69fc037
to
1507ddd
Compare
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 think the flag ops are not going to work, because WGSL doesn't support atomic<bool>
, so those Literal::Bool
values are going to make something unhappy.
Ok, I'll add tests for those and debug it. As an alternative do you think we can make it use |
Yes, treating the argument as |
Yeah, you're right. I just missed that. Ok, I'll just stick to that then. |
If the tests pass with the code as it is, then if I'm reading correctly (and I'm often not), that would mean that the validator is not properly type-checking |
You know what - I don't even have the ability to create code that uses the flag ops (not from rust-gpu, at least). I say we skip these until a later date. |
…re-ops' into feature/spirv-front-atomics-3-more-ops
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.
Okay, with the untested ops removed, this is good to go.
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.
Sorry - I just noticed that some of the .spvasm
files in naga/tests/in/spv
do not match their .spv
files. That needs to be squared away before we can merge.
I've filed #6292 as a follow-up for converting the tests to snapshot tests. |
Connections
Part of
Depends on
Description
This adds parsing for the following atomic operations to
naga::spv::Frontend::next_block
:OpAtomicCompareExchangeWeak(deprecated)OpAtomicIIncrementwas included in spv-in parsing Op::AtomicIIncrement #5702Checklist
cargo fmt
.cargo clippy
. If applicable, add:--target wasm32-unknown-unknown
--target wasm32-unknown-emscripten
cargo xtask test
to run tests.CHANGELOG.md
. See simple instructions inside file.