Mesa (master): nir: Fix indexing of atomic counter arrays with a constant value.

Francisco Jerez currojerez at kemper.freedesktop.org
Tue May 12 12:50:11 UTC 2015


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

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue May  5 23:02:05 2015 +0300

nir: Fix indexing of atomic counter arrays with a constant value.

Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/glsl/nir/nir_lower_atomics.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/glsl/nir/nir_lower_atomics.c b/src/glsl/nir/nir_lower_atomics.c
index e82df01..f6f8902 100644
--- a/src/glsl/nir/nir_lower_atomics.c
+++ b/src/glsl/nir/nir_lower_atomics.c
@@ -78,7 +78,8 @@ lower_instr(nir_intrinsic_instr *instr, nir_function_impl *impl)
          nir_deref_as_array(instr->variables[0]->deref.child);
       assert(deref_array->deref.child == NULL);
 
-      offset_const->value.u[0] += deref_array->base_offset;
+      offset_const->value.u[0] +=
+         deref_array->base_offset * ATOMIC_COUNTER_SIZE;
 
       if (deref_array->deref_array_type == nir_deref_array_type_indirect) {
          nir_load_const_instr *atomic_counter_size =




More information about the mesa-commit mailing list