panvk: Lower legacy atomics earlier
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Mon, 15 May 2023 12:58:45 +0000 (08:58 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 16 May 2023 22:36:21 +0000 (22:36 +0000)
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>

src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c
src/panfrost/vulkan/panvk_vX_shader.c

index 6794b4b..f1f9cc3 100644 (file)
@@ -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);
index 483a44e..06c68d1 100644 (file)
@@ -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);