svga: Retrieve stride info from hwtnl->cmd.vdecl for swtnl draws

This fixes spec@!opengl 1.0@gl-1.0-polygon-line-aa
spec@!opengl 1.1@clipflat and multiple piglit tests
failures on VGPU9 device

Fixes: 76725452 ("gallium: move vertex stride to CSO")

Reviewed-by: Brian Paul <brian.paul@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29947>
(cherry picked from commit 8b8f347e4b)
This commit is contained in:
Neha Bhende 2024-06-27 14:51:50 -07:00 committed by Eric Engestrom
parent a405ba5afe
commit 3d565a5868
2 changed files with 3 additions and 3 deletions

View file

@ -214,7 +214,7 @@
"description": "svga: Retrieve stride info from hwtnl->cmd.vdecl for swtnl draws",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "76725452239e9e7740c0edd6a5f3663ab897c343",
"notes": null

View file

@ -702,7 +702,7 @@ validate_vertex_buffers(struct svga_hwtnl *hwtnl,
/* Set IA slot0 input buffer to the SO buffer */
assert(vbuf_count == 1);
vbuffer_attrs[0].stride = svga->curr.velems->strides[0];
vbuffer_attrs[0].stride = svga->state.sw.need_swtnl ? hwtnl->cmd.vdecl[0].array.stride : svga->curr.velems->strides[0];
vbuffer_attrs[0].offset = hwtnl->cmd.vbufs[0].buffer_offset;
vbuffer_attrs[0].sid = 0;
assert(so_vertex_count->buffer != NULL);
@ -717,7 +717,7 @@ validate_vertex_buffers(struct svga_hwtnl *hwtnl,
struct svga_buffer *sbuf =
svga_buffer(hwtnl->cmd.vbufs[i].buffer.resource);
vbuffer_attrs[i].stride = svga->curr.velems->strides[i];
vbuffer_attrs[i].stride = svga->state.sw.need_swtnl ? hwtnl->cmd.vdecl[i].array.stride : svga->curr.velems->strides[i];
vbuffer_attrs[i].offset = hwtnl->cmd.vbufs[i].buffer_offset;
vbuffer_attrs[i].sid = 0;