summaryrefslogtreecommitdiff
path: root/src/mesa/vbo/vbo_save_draw.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2023-06-22 07:15:02 -0400
committerMarge Bot <emma+marge@anholt.net>2023-07-06 04:01:50 +0000
commit7b10877078b1a68791ae807c76bf2de519208723 (patch)
tree8b6b2e14c259e6f5cdf4322fbb82dcdaa99be6fa /src/mesa/vbo/vbo_save_draw.c
parent5c1d91d5da45000a62b273ecfc8ac1c7f4bdc7ca (diff)
vbo: correctly restore _VaryingInputs for display list fast path
Fixes: 3a294ff0 - mesa: move the _mesa_set_varying_vp_inputs call to where the state changes Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9007 Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23796>
Diffstat (limited to 'src/mesa/vbo/vbo_save_draw.c')
-rw-r--r--src/mesa/vbo/vbo_save_draw.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c
index 29e7f3ac3ab..9663ff1e0c5 100644
--- a/src/mesa/vbo/vbo_save_draw.c
+++ b/src/mesa/vbo/vbo_save_draw.c
@@ -207,6 +207,7 @@ vbo_save_playback_vertex_list_gallium(struct gl_context *ctx,
* which attribs have stride = 0 and whether edge flags are enabled.
*/
const GLbitfield enabled = node->enabled_attribs[mode];
+ const GLbitfield saved_varying_vp_inputs = ctx->VertexProgram._VaryingInputs;
_mesa_set_varying_vp_inputs(ctx, enabled);
if (ctx->NewState)
@@ -291,8 +292,9 @@ vbo_save_playback_vertex_list_gallium(struct gl_context *ctx,
NULL, 1);
}
- /* Restore edge flag state. */
+ /* Restore edge flag state and ctx->VertexProgram._VaryingInputs. */
_mesa_update_edgeflag_state_vao(ctx);
+ _mesa_set_varying_vp_inputs(ctx, saved_varying_vp_inputs);
if (copy_to_current)
playback_copy_to_current(ctx, node);