-
Notifications
You must be signed in to change notification settings - Fork 909
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
64 bit image atomics #5537
base: trunk
Are you sure you want to change the base?
64 bit image atomics #5537
Conversation
…r support detection for metal, directx, and vulkan
@atlv24 Earlier today you asked me for a suggestion about the texture usages, and a review of the tests. I've posted those now. Is there anything else you need before breaking this up into independent commits for review? |
@jimblandy I've broken it into independent commits already, thanks for the feedback. I've implemented the texture usage stuff, now im working on the tests. :D |
d959757
to
ace6c83
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.
Looking at the wgpu side:
What would prevent you from doing atomics on an image without the image atomics flag set?
The naga validator currently only permits image atomic operations on the r64uint texture format, and only when the feature is available. No provisions were made for other texture formats yet |
I mean the texture creation flag - I believe if you don't include the flag on texture creation it'll still you do atomics on it, as those pieces of data never touch each other. |
Connections
Part of an incoming series of PRs needed by #5123
Others in this series: #5155 #5154 #5383
Addresses #4424
Depends on #5383
Ultimately for bevy meshlets pipeline bevyengine/bevy#10164
Description
Adds 64 bit image atomics to Vulkan, DirectX, and Metal backends. Emulates using RG32Uint on platforms where R64Uint is not available (directX, metal).
Testing
naga tests and runtime tests are included
Checklist
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.