[Mesa-dev] [PATCH] tnl: Fix green gun regression in xonotic.

Mathias.Froehlich at gmx.net Mathias.Froehlich at gmx.net
Wed Aug 22 04:57:57 UTC 2018

From: Mathias Fröhlich <mathias.froehlich at web.de>

Hi Ville, Brian,

The below patch fixes the regression to tnl drivers that Ville reported
a hand full weeks ago.
Please review!


Fix an other regression of patch 64d2a2048054
mesa: Make gl_vertex_array contain pointers to first order VAO members.
The regression showed up with drivers using the tnl module and
was reproducible using xonotic-glx -benchmark demos/the-big-keybench.dem.

This patch survives intels CI system without changes in the tests.

Tested-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich at web.de>
 src/mesa/tnl/t_split_copy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/tnl/t_split_copy.c b/src/mesa/tnl/t_split_copy.c
index cbb7eb409f..085ae9a28c 100644
--- a/src/mesa/tnl/t_split_copy.c
+++ b/src/mesa/tnl/t_split_copy.c
@@ -531,7 +531,7 @@ replay_init(struct copy_context *copy)
    for (offset = 0, i = 0; i < copy->nr_varying; i++) {
       const struct tnl_vertex_array *src = copy->varying[i].array;
       const struct gl_array_attributes *srcattr = src->VertexAttrib;
-      struct tnl_vertex_array *dst = &copy->dstarray[i];
+      struct tnl_vertex_array *dst = &copy->dstarray[copy->varying[i].attr];
       struct gl_vertex_buffer_binding *dstbind = &copy->varying[i].dstbinding;
       struct gl_array_attributes *dstattr = &copy->varying[i].dstattribs;

More information about the mesa-dev mailing list