-
Notifications
You must be signed in to change notification settings - Fork 245
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
Invalid SPIR-V for shared memory atomics #5989
Comments
We do not support |
The current |
Thank you for the insight. |
FWIW, I just got the exact same SPIR-V validation error, but in the GLSL mode using the |
@csyonghe @juliusikkala What is left to do here? |
The PR only fixed the 'shared' keyword in GLSL to parse into Or maybe that should be a separate issue anyway, it's not really my call to make as a random outsider contributor :) |
Before the PR, the So in that sense, the generated SPIR-V was not invalid because the AST contained |
There needs to be a backend 4xxxx error if we see an Atomic instruction where the destination pointer isn’t group shared or from a device buffer. |
That makes sense -- we are still emitting invalid SPIR-V and to avoid this we instead want to emit an error similar to the SPIR-V validation error, except in Slang terminology. |
Many of these functions map directly to atomic IR instructions. The functions taking atomic_uint are left as they are. This helps to address shader-slang#5989, since the destination pointer type validation can then be written only for the atomic IR instructions.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Many of these functions map directly to atomic IR instructions. The functions taking atomic_uint are left as they are. This helps to address shader-slang#5989, since the destination pointer type validation can then be written only for the atomic IR instructions.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Many of these functions map directly to atomic IR instructions. The functions taking atomic_uint are left as they are. This helps to address shader-slang#5989, since the destination pointer type validation can then be written only for the atomic IR instructions.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Many of these functions map directly to atomic IR instructions. The functions taking atomic_uint are left as they are. This helps to address shader-slang#5989, since the destination pointer type validation can then be written only for the atomic IR instructions.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
Many of these functions map directly to atomic IR instructions. The functions taking atomic_uint are left as they are. This helps to address shader-slang#5989, since the destination pointer type validation can then be written only for the atomic IR instructions.
Diagnose an error if the destination of the atomic operation is not appropriate, where appropriate means it's either: - 'groupshared' - from a device buffer This closes shader-slang#5989.
->
The text was updated successfully, but these errors were encountered: