nv30: Fix an offset for vbos being applied to a buffer twice

Similar to 1387d1d4, this offset was being applied twice (once in
translate_generic, and once when the buffer is mapped).

This fixes 7972, which was initially thought to be an endianness
specific issue.

CC: mesa-stable
Tested-by: Filip Gawin <filip@gawin.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20468>
(cherry picked from commit 50972297f4)
This commit is contained in:
Adam Stylinski 2022-12-31 16:14:38 -05:00 committed by Eric Engestrom
parent 96b85f1574
commit b46d3d7ebb
2 changed files with 3 additions and 3 deletions

View file

@ -3307,7 +3307,7 @@
"description": "nv30: Fix an offset for vbos being applied to a buffer twice",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -229,10 +229,10 @@ nv30_push_vbo(struct nv30_context *nv30, const struct pipe_draw_info *info,
if (info->index_size) {
if (!info->has_user_indices)
ctx.idxbuf = nouveau_resource_map_offset(&nv30->base,
nv04_resource(info->index.resource), draw->start * info->index_size,
nv04_resource(info->index.resource), 0,
NOUVEAU_BO_RD);
else
ctx.idxbuf = (char*)info->index.user + draw->start * info->index_size;
ctx.idxbuf = (char*)info->index.user;
if (!ctx.idxbuf) {
nv30_state_release(nv30);
return;