diff options
author | Marek Olšák <marek.olsak@amd.com> | 2023-06-22 07:15:02 -0400 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-07-06 04:01:50 +0000 |
commit | 7b10877078b1a68791ae807c76bf2de519208723 (patch) | |
tree | 8b6b2e14c259e6f5cdf4322fbb82dcdaa99be6fa /src/mesa/vbo/vbo_save_draw.c | |
parent | 5c1d91d5da45000a62b273ecfc8ac1c7f4bdc7ca (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.c | 4 |
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); |