From a24eb14fc074ad9ee7e473c89ad82f700887f68d Mon Sep 17 00:00:00 2001 From: Patrick Lerda Date: Sat, 27 Apr 2024 15:04:08 +0200 Subject: [PATCH] gallium/auxiliary/vl: fix typo which negatively impacts the src_stride initialization Note: As a matter of fact, this change by itself makes vdpau on r600 works again. Indeed, r600 sets the stride value with vertex_buffer_index as the r600 index; vertex_buffer_index was set to zero at the vl_compositor/init_buffers() stage on the three elements. As a consequence of this typo the stride value was overwritten to zero. This was breaking vdpau. Fixes: 76725452 ("gallium: move vertex stride to CSO") Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10468 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10267 Signed-off-by: Patrick Lerda Reviewed-by: Leo Liu Reviewed-By: Mike Blumenkrantz Part-of: (cherry picked from commit fe8fdc58db9cc364e7215b70f229cac3001a4676) --- .pick_status.json | 2 +- src/gallium/auxiliary/vl/vl_compositor.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index fbca5604554..66e31965f5c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -214,7 +214,7 @@ "description": "gallium/auxiliary/vl: fix typo which negatively impacts the src_stride initialization", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "76725452239e9e7740c0edd6a5f3663ab897c343", "notes": null diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_compositor.c index 658a87adb14..c618c6dea68 100644 --- a/src/gallium/auxiliary/vl/vl_compositor.c +++ b/src/gallium/auxiliary/vl/vl_compositor.c @@ -259,7 +259,7 @@ init_buffers(struct vl_compositor *c) vertex_elems[1].vertex_buffer_index = 0; vertex_elems[1].src_format = PIPE_FORMAT_R32G32B32A32_FLOAT; vertex_elems[2].src_offset = sizeof(struct vertex2f) + sizeof(struct vertex4f); - vertex_elems[1].src_stride = VL_COMPOSITOR_VB_STRIDE; + vertex_elems[2].src_stride = VL_COMPOSITOR_VB_STRIDE; vertex_elems[2].instance_divisor = 0; vertex_elems[2].vertex_buffer_index = 0; vertex_elems[2].src_format = PIPE_FORMAT_R32G32B32A32_FLOAT;