Mesa (main): freedreno: Fix start_slot handling in set_vertex_buffers.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Mar 2 18:02:25 UTC 2022


Module: Mesa
Branch: main
Commit: 92945825f5fcb59ef3787d21a21a61c07ade7588
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=92945825f5fcb59ef3787d21a21a61c07ade7588

Author: Emma Anholt <emma at anholt.net>
Date:   Tue Mar  1 14:57:29 2022 -0800

freedreno: Fix start_slot handling in set_vertex_buffers.

mesa/st only ever provides a 0 for this value, but let's be ready if it
ever does something else.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15198>

---

 src/gallium/drivers/freedreno/freedreno_state.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c
index 01454d0c076..aa9b33793ab 100644
--- a/src/gallium/drivers/freedreno/freedreno_state.c
+++ b/src/gallium/drivers/freedreno/freedreno_state.c
@@ -382,9 +382,9 @@ fd_set_vertex_buffers(struct pipe_context *pctx, unsigned start_slot,
    if (ctx->screen->gen < 3) {
       for (i = 0; i < count; i++) {
          bool new_enabled = vb && vb[i].buffer.resource;
-         bool old_enabled = so->vb[i].buffer.resource != NULL;
+         bool old_enabled = so->vb[start_slot + i].buffer.resource != NULL;
          uint32_t new_stride = vb ? vb[i].stride : 0;
-         uint32_t old_stride = so->vb[i].stride;
+         uint32_t old_stride = so->vb[start_slot + i].stride;
          if ((new_enabled != old_enabled) || (new_stride != old_stride)) {
             fd_context_dirty(ctx, FD_DIRTY_VTXSTATE);
             break;



More information about the mesa-commit mailing list