Mesa (master): nvc0: fix valid range for shader buffers

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Mon Oct 10 19:33:00 UTC 2016


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Sun Oct  9 22:17:51 2016 +0200

nvc0: fix valid range for shader buffers

When offset != 0, the valid range was wrong because the second
argument of util_range_add() is end, not size.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

---

 src/gallium/drivers/nouveau/nvc0/nvc0_compute.c        | 1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c | 1 +
 src/gallium/drivers/nouveau/nvc0/nve4_compute.c        | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c
index dc4d1b3..11635c9 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.c
@@ -288,6 +288,7 @@ nvc0_compute_validate_buffers(struct nvc0_context *nvc0)
          BCTX_REFN(nvc0->bufctx_cp, CP_BUF, res, RDWR);
          util_range_add(&res->valid_buffer_range,
                         nvc0->buffers[s][i].buffer_offset,
+                        nvc0->buffers[s][i].buffer_offset +
                         nvc0->buffers[s][i].buffer_size);
       } else {
          PUSH_DATA (push, 0);
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c
index e69463e..1d8ebe6 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c
@@ -561,6 +561,7 @@ nvc0_validate_buffers(struct nvc0_context *nvc0)
             BCTX_REFN(nvc0->bufctx_3d, 3D_BUF, res, RDWR);
             util_range_add(&res->valid_buffer_range,
                            nvc0->buffers[s][i].buffer_offset,
+                           nvc0->buffers[s][i].buffer_offset +
                            nvc0->buffers[s][i].buffer_size);
          } else {
             PUSH_DATA (push, 0);
diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
index e85e9b4..d661c00 100644
--- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
+++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
@@ -444,6 +444,7 @@ nve4_compute_validate_buffers(struct nvc0_context *nvc0)
          BCTX_REFN(nvc0->bufctx_cp, CP_BUF, res, RDWR);
          util_range_add(&res->valid_buffer_range,
                         nvc0->buffers[s][i].buffer_offset,
+                        nvc0->buffers[s][i].buffer_offset +
                         nvc0->buffers[s][i].buffer_size);
       } else {
          PUSH_DATA (push, 0);




More information about the mesa-commit mailing list