From aff9edc12f55ad5335a8bf9a6cce8faaa5e92fab Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 19 Sep 2022 15:54:37 -0400 Subject: [PATCH] zink: fix atomic ssbo fadd offsets Fixes: 99a4a9c6ff0 ("zink: fix atomic ssbo indexing with non-32bit values") Reviewed-by: Dave Airlie Part-of: (cherry picked from commit e13e139bcbd4f34ff16d99ee63caef6187d9451a) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_compiler.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 70060c92de4..5b8b3a4e10b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4162,7 +4162,7 @@ "description": "zink: fix atomic ssbo fadd offsets", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "99a4a9c6ff09f4a326341432ca75f18ddcdc0bf8" }, diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 5bc4df50247..4cb03ef4cd5 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -1051,6 +1051,7 @@ rewrite_bo_access_instr(nir_builder *b, nir_instr *instr, void *data) nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); b->cursor = nir_before_instr(instr); switch (intr->intrinsic) { + case nir_intrinsic_ssbo_atomic_fadd: case nir_intrinsic_ssbo_atomic_add: case nir_intrinsic_ssbo_atomic_umin: case nir_intrinsic_ssbo_atomic_imin: @@ -2334,6 +2335,7 @@ analyze_io(struct zink_shader *zs, nir_shader *shader) ret = true; break; } + case nir_intrinsic_ssbo_atomic_fadd: case nir_intrinsic_ssbo_atomic_add: case nir_intrinsic_ssbo_atomic_imin: case nir_intrinsic_ssbo_atomic_umin: