From 60488d6213a044b01ae6a9f668592abd737edb95 Mon Sep 17 00:00:00 2001 From: Doug Brown Date: Wed, 10 Jul 2024 19:19:10 -0700 Subject: [PATCH] xa: add missing stride setup in renderer_draw_yuv This fixes a problem observed in VMware VMs where Xv playback results in a black screen instead of the actual video. Signed-off-by: Doug Brown Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11490 Fixes: 76725452239 ("gallium: move vertex stride to CSO") Part-of: --- src/gallium/frontends/xa/xa_renderer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/frontends/xa/xa_renderer.c b/src/gallium/frontends/xa/xa_renderer.c index a638d35b54e..c9a1f46bacf 100644 --- a/src/gallium/frontends/xa/xa_renderer.c +++ b/src/gallium/frontends/xa/xa_renderer.c @@ -529,6 +529,8 @@ renderer_draw_yuv(struct xa_context *r, struct cso_velems_state velems; velems.count = num_attribs; memcpy(velems.velems, r->velems, sizeof(r->velems[0]) * velems.count); + for (unsigned i = 0; i < velems.count; i++) + velems.velems[i].src_stride = velems.count * 4 * sizeof(float); cso_set_vertex_elements(r->cso, &velems); util_draw_user_vertex_buffer(r->cso, r->buffer, MESA_PRIM_QUADS,