Mesa (master): u_vbuf: fix vb slot assignment for translated buffers

Nicolai Hähnle nh at kemper.freedesktop.org
Mon Oct 12 14:48:03 UTC 2015


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

Author: Nicolai Hähnle <nhaehnle at gmail.com>
Date:   Sun Oct  4 00:44:00 2015 +0200

u_vbuf: fix vb slot assignment for translated buffers

Vertex attributes of different categories (constant/per-instance/
per-vertex) go into different buffers for translation, and this is now
properly reflected in the vertex buffers passed to the driver.

Fixes e.g. piglit's point-vertex-id divisor test.

Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/auxiliary/util/u_vbuf.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c
index 3d2193c..b31ada1 100644
--- a/src/gallium/auxiliary/util/u_vbuf.c
+++ b/src/gallium/auxiliary/util/u_vbuf.c
@@ -544,6 +544,7 @@ u_vbuf_translate_find_free_vb_slots(struct u_vbuf *mgr,
 
          index = ffs(unused_vb_mask) - 1;
          fallback_vbs[type] = index;
+         unused_vb_mask &= ~(1 << index);
          /*printf("found slot=%i for type=%i\n", index, type);*/
       }
    }




More information about the mesa-commit mailing list