nir/lower_helper_writes: Consider bindless images
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Fri, 18 Aug 2023 16:52:40 +0000 (12:52 -0400)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sat, 19 Aug 2023 16:27:34 +0000 (12:27 -0400)
These need to be handled like other image ops.

Fixes KHR-GLES31.core.shader_image_load_store.basic-allTargets-atomicFS on Asahi
with bindless image access forced.

Fixes: 586da7b3290 ("nir: Add nir_lower_helper_writes pass")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24778>

src/compiler/nir/nir_lower_helper_writes.c

index 3920ce8..fa4aed8 100644 (file)
@@ -39,9 +39,12 @@ lower(nir_builder *b, nir_instr *instr, void *data)
    case nir_intrinsic_global_atomic_swap:
    case nir_intrinsic_image_atomic:
    case nir_intrinsic_image_atomic_swap:
+   case nir_intrinsic_bindless_image_atomic:
+   case nir_intrinsic_bindless_image_atomic_swap:
       break;
    case nir_intrinsic_store_global:
    case nir_intrinsic_image_store:
+   case nir_intrinsic_bindless_image_store:
       if (!(*lower_plain_stores))
          return false;
       else