summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>2023-05-15 08:58:45 -0400
committerMarge Bot <emma+marge@anholt.net>2023-05-16 22:36:21 +0000
commit9b4ec866426afd46d696ef1013ed20776b6e03f6 (patch)
tree1ab13506fda770948e4d99a7c84443196d8febc6
parentd4b2a7a26e1879987f3e93714a71a11c23b8cd45 (diff)
downloadmesa-9b4ec866426afd46d696ef1013ed20776b6e03f6.tar.gz
panvk: Lower legacy atomics earlier
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23036>
-rw-r--r--src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c13
-rw-r--r--src/panfrost/vulkan/panvk_vX_shader.c1
2 files changed, 3 insertions, 11 deletions
diff --git a/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c b/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c
index 6794b4bc1f9..f1f9cc33866 100644
--- a/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c
+++ b/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c
@@ -544,17 +544,8 @@ lower_intrinsic(nir_builder *b, nir_intrinsic_instr *intr,
return lower_res_intrinsic(b, intr, ctx);
case nir_intrinsic_image_deref_store:
case nir_intrinsic_image_deref_load:
- case nir_intrinsic_image_deref_atomic_add:
- case nir_intrinsic_image_deref_atomic_imin:
- case nir_intrinsic_image_deref_atomic_umin:
- case nir_intrinsic_image_deref_atomic_imax:
- case nir_intrinsic_image_deref_atomic_umax:
- case nir_intrinsic_image_deref_atomic_and:
- case nir_intrinsic_image_deref_atomic_or:
- case nir_intrinsic_image_deref_atomic_xor:
- case nir_intrinsic_image_deref_atomic_exchange:
- case nir_intrinsic_image_deref_atomic_comp_swap:
- case nir_intrinsic_image_deref_atomic_fadd:
+ case nir_intrinsic_image_deref_atomic:
+ case nir_intrinsic_image_deref_atomic_swap:
case nir_intrinsic_image_deref_size:
case nir_intrinsic_image_deref_samples:
return lower_img_intrinsic(b, intr, ctx);
diff --git a/src/panfrost/vulkan/panvk_vX_shader.c b/src/panfrost/vulkan/panvk_vX_shader.c
index 483a44e5a43..06c68d18837 100644
--- a/src/panfrost/vulkan/panvk_vX_shader.c
+++ b/src/panfrost/vulkan/panvk_vX_shader.c
@@ -314,6 +314,7 @@ panvk_per_arch(shader_create)(struct panvk_device *dev, gl_shader_stage stage,
.lower_invalid_implicit_lod = true,
};
NIR_PASS_V(nir, nir_lower_tex, &lower_tex_options);
+ NIR_PASS_V(nir, nir_lower_legacy_atomics);
NIR_PASS_V(nir, panvk_per_arch(nir_lower_descriptors), dev, layout,
&shader->has_img_access);