Skip to content
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

SHADER_INT64_ATOMIC_MIN_MAX can never be requested on Vulkan #5887

Closed
JMS55 opened this issue Jun 27, 2024 · 2 comments · Fixed by #5952
Closed

SHADER_INT64_ATOMIC_MIN_MAX can never be requested on Vulkan #5887

JMS55 opened this issue Jun 27, 2024 · 2 comments · Fixed by #5952
Labels
api: vulkan Issues with Vulkan type: bug Something isn't working

Comments

@JMS55
Copy link
Contributor

JMS55 commented Jun 27, 2024

SHADER_INT64_ATOMIC_MIN_MAX never seems to be able to be requested. Somewhere in wgpu-hal it thinks my GPU (RTX 3080) lacks support, but it shouldn't.

wgpu rev abba12a

@JMS55 JMS55 changed the title SHADER_INT64_ATOMIC_MIN_MAX can never be request on Vulkan SHADER_INT64_ATOMIC_MIN_MAX can never be requested on Vulkan Jun 27, 2024
@teoxoy teoxoy added type: bug Something isn't working api: vulkan Issues with Vulkan labels Jul 3, 2024
@teoxoy
Copy link
Member

teoxoy commented Jul 3, 2024

This might be due to #5784.

@JMS55
Copy link
Contributor Author

JMS55 commented Jul 6, 2024

I tried changing this:

shader_atomic_int64: if device_api_version >= vk::API_VERSION_1_2
    || enabled_extensions.contains(&khr::shader_atomic_int64::NAME)
{
    Some(
        vk::PhysicalDeviceShaderAtomicInt64Features::default()
            .shader_buffer_int64_atomics(requested_features.intersects(
                wgt::Features::SHADER_INT64_ATOMIC_ALL_OPS
                    | wgt::Features::SHADER_INT64_ATOMIC_MIN_MAX,
            )),
    )
} else {
    None
},

to this:

shader_atomic_int64: if device_api_version >= vk::API_VERSION_1_2
    || enabled_extensions.contains(&khr::shader_atomic_int64::NAME)
{
    Some(
        vk::PhysicalDeviceShaderAtomicInt64Features::default()
            .shader_buffer_int64_atomics(requested_features.intersects(
                wgt::Features::SHADER_INT64_ATOMIC_ALL_OPS
                    | wgt::Features::SHADER_INT64_ATOMIC_MIN_MAX,
            ))
            .shader_shared_int64_atomics(requested_features.intersects(
                wgt::Features::SHADER_INT64_ATOMIC_ALL_OPS
                    | wgt::Features::SHADER_INT64_ATOMIC_MIN_MAX,
            )),
    )
} else {
    None
},

Still doesn't work :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: vulkan Issues with Vulkan type: bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants