nv30: fix emulated vertex index buffers
authorKarol Herbst <kherbst@redhat.com>
Sun, 25 Jul 2021 00:10:29 +0000 (02:10 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 26 Jul 2021 15:39:25 +0000 (15:39 +0000)
We ended up applying the offset twice. Quite embarrassing.

This fixes a bunch of vertex shader related issues like the gnome desktop
is less broken and probably a lot of other applications.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5061
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12054>

src/gallium/drivers/nouveau/nv30/nv30_vbo.c

index 78f442a..3e24e90 100644 (file)
@@ -514,9 +514,9 @@ nv30_draw_elements(struct nv30_context *nv30, bool shorten,
       if (!info->has_user_indices)
          data = nouveau_resource_map_offset(&nv30->base,
                                             nv04_resource(info->index.resource),
-                                            start * index_size, NOUVEAU_BO_RD);
+                                            0, NOUVEAU_BO_RD);
       else
-         data = (char*)info->index.user + start * index_size;
+         data = info->index.user;
       if (!data)
          return;