Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Support floating-point atomics #1020

Closed
kvark opened this issue Nov 12, 2020 · 1 comment · Fixed by #6234
Closed

Support floating-point atomics #1020

kvark opened this issue Nov 12, 2020 · 1 comment · Fixed by #6234
Labels
area: api Issues related to API surface help required We need community help to make this happen. type: enhancement New feature or request

Comments

@kvark
Copy link
Member

kvark commented Nov 12, 2020

Is your feature request related to a problem? Please describe.
See gfx-rs/wgpu-rs#564

I believe it is quite a fundamental component required for many compute operations.

Describe the solution you'd like
A native-only Feature corresponding to VK_EXT_shader_atomic_float Vulkan extension.
We also need to be better at validating SPIR-V capabilities.

Describe alternatives you've considered
Enabling this feature everywhere where it's available. This would be unfortunate, since it would harm portability.

Additional context
First, an investigation needs to be done to determine the platform support for this extension on different APIs.
Second, gfx-rs changes need to be done to enable it. Only then we can expose a feature here.

@kvark kvark added type: enhancement New feature or request help required We need community help to make this happen. area: api Issues related to API surface labels Nov 12, 2020
@kvark
Copy link
Member Author

kvark commented Nov 15, 2020

For an example of how other similar feature was added, see #754 and gfx-rs/gfx#3281

AsherJingkongChen added a commit to AsherJingkongChen/wgpu that referenced this issue Sep 7, 2024
* Current supported platforms: Metal
* Platforms to support in the future: Vulkan

Related issues or PRs:

* gfx-rs#1020
AsherJingkongChen added a commit to AsherJingkongChen/wgpu that referenced this issue Sep 7, 2024
* Current supported platforms: Metal
* Platforms to support in the future: Vulkan

Related issues or PRs:

* gfx-rs#1020
github-merge-queue bot pushed a commit that referenced this issue Jan 9, 2025
)

* feat: Add 32-bit floating-point atomics

* Current supported platforms: Metal
* Platforms to support in the future: Vulkan

Related issues or PRs:

* #1020

* Add changelog

* Edit changelog

* feat: Add 32-bit float atomics support for Vulkan (SPIR-V shaders)

* atomicSub for f32 in the previous commits is removed.

* Update test

* chore: doc type link

* refactor: Revise float atomics on msl and spv

* Make branches tidy
* Also revise old codes
* Ensure the implementations are supported by Metal and Vulkan backends

* refactor: Renaming flt32 atomics to float32 atomics

* chore: Add link to Vulkan feature

* fix: cargo fmt

* chore: hack comment

* Revert changelog

* Fix: Cargo advisory

* Update wgpu-hal/src/metal/adapter.rs

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>

* Update naga/src/lib.rs

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>

* Adjust feature flag position

---------

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
area: api Issues related to API surface help required We need community help to make this happen. type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant