Mesa (master): nir/lower_io: Add support for nir_var_mem_global

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Jan 26 22:15:40 UTC 2019


Module: Mesa
Branch: master
Commit: 5f5503d498f934707dcfa611344d9d601d21888a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f5503d498f934707dcfa611344d9d601d21888a

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Sat Jan 19 18:50:48 2019 -0600

nir/lower_io: Add support for nir_var_mem_global

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Karol Herbst <kherbst at redhat.com>

---

 src/compiler/nir/nir_lower_io.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
index 73075523ba..d1f95cfe6a 100644
--- a/src/compiler/nir/nir_lower_io.c
+++ b/src/compiler/nir/nir_lower_io.c
@@ -676,6 +676,10 @@ build_explicit_io_load(nir_builder *b, nir_intrinsic_instr *intrin,
       else
          op = nir_intrinsic_load_ssbo;
       break;
+   case nir_var_mem_global:
+      assert(addr_format_is_global(addr_format));
+      op = nir_intrinsic_load_global;
+      break;
    default:
       unreachable("Unsupported explicit IO variable mode");
    }
@@ -722,6 +726,10 @@ build_explicit_io_store(nir_builder *b, nir_intrinsic_instr *intrin,
       else
          op = nir_intrinsic_store_ssbo;
       break;
+   case nir_var_mem_global:
+      assert(addr_format_is_global(addr_format));
+      op = nir_intrinsic_store_global;
+      break;
    default:
       unreachable("Unsupported explicit IO variable mode");
    }
@@ -767,6 +775,10 @@ build_explicit_io_atomic(nir_builder *b, nir_intrinsic_instr *intrin,
       else
          op = ssbo_atomic_for_deref(intrin->intrinsic);
       break;
+   case nir_var_mem_global:
+      assert(addr_format_is_global(addr_format));
+      op = global_atomic_for_deref(intrin->intrinsic);
+      break;
    default:
       unreachable("Unsupported explicit IO variable mode");
    }




More information about the mesa-commit mailing list