nir/lower_robust_access: fix robustness with atomic swap
this was missed in the original v3d pass, and then the common code port inherited the bug. (so strictly this fix "should" be backported even farther back but it won't apply before the Fixes here, and I don't think we do LTS that far back anyway). in theory this should fix a corner case with robustness on the gl (but not vulkan, at least for apple) drivers on broadcom & apple. Fixes:f0fb8d05e3
("nir: Add nir_lower_robust_access pass") Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> (cherry picked from commitd9b4867e2a
) Conflicts: src/compiler/nir/nir_lower_robust_access.c Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33113>
This commit is contained in:

committed by
Dylan Baker

parent
b7e7e9a904
commit
ffdf10d308
@@ -14,7 +14,7 @@
|
||||
"description": "nir/lower_robust_access: fix robustness with atomic swap",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "f0fb8d05e30c51e070155c957f3b71cf31c4b784",
|
||||
"notes": null
|
||||
|
@@ -211,6 +211,7 @@ lower(nir_builder *b, nir_instr *instr, void *_opts)
|
||||
}
|
||||
return false;
|
||||
case nir_intrinsic_ssbo_atomic:
|
||||
case nir_intrinsic_ssbo_atomic_swap:
|
||||
if (opts->lower_ssbo) {
|
||||
lower_buffer_atomic(b, intr);
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user