summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_vbuf.c
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2015-10-04 00:44:00 +0200
committerNicolai Hähnle <[email protected]>2015-10-12 16:46:30 +0200
commit45ed627d894aa4d51682e8b07e7234bbc6e7c02d (patch)
treead3dc81a02a56edf2f642f6d5c27f9b8496b62b9 /src/gallium/auxiliary/util/u_vbuf.c
parent7a1143f29e477601f2b34b23d154edd5699352b1 (diff)
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: [email protected] Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/util/u_vbuf.c')
-rw-r--r--src/gallium/auxiliary/util/u_vbuf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c
index 3d2193c3bf5..b31ada138b8 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);*/
}
}