From c4ba65a33bedca3daaa710aa85853dc39b7302e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 3 Jan 2024 21:34:28 -0500 Subject: [PATCH] st/mesa: do (inputs_read & enabled_arrays) outside setup_arrays Reviewed-by: Pierre-Eric Pelloux-Prayer Reviewed-By: Mike Blumenkrantz Part-of: --- src/mesa/state_tracker/st_atom_array.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mesa/state_tracker/st_atom_array.cpp b/src/mesa/state_tracker/st_atom_array.cpp index dca7ddb641c..4646b06303e 100644 --- a/src/mesa/state_tracker/st_atom_array.cpp +++ b/src/mesa/state_tracker/st_atom_array.cpp @@ -81,15 +81,13 @@ setup_arrays(struct st_context *st, const struct gl_vertex_array_object *vao, const GLbitfield dual_slot_inputs, const GLbitfield inputs_read, - const GLbitfield enabled_arrays, + GLbitfield mask, struct cso_velems_state *velements, struct pipe_vertex_buffer *vbuffer, unsigned *num_vbuffers) { struct gl_context *ctx = st->ctx; /* Process attribute array data. */ - GLbitfield mask = inputs_read & enabled_arrays; - if (vao->IsDynamic) { while (mask) { const gl_vert_attrib attr = (gl_vert_attrib)u_bit_scan(&mask); @@ -183,7 +181,8 @@ st_setup_arrays(struct st_context *st, setup_arrays (st, ctx->Array._DrawVAO, vp->Base.DualSlotInputs, - vp_variant->vert_attrib_mask, enabled_arrays, + vp_variant->vert_attrib_mask, + vp_variant->vert_attrib_mask & enabled_arrays, velements, vbuffer, num_vbuffers); } @@ -326,7 +325,7 @@ st_update_array_templ(struct st_context *st, /* Setup arrays */ setup_arrays (st, ctx->Array._DrawVAO, dual_slot_inputs, inputs_read, - enabled_arrays, &velements, vbuffer, &num_vbuffers); + inputs_read & enabled_arrays, &velements, vbuffer, &num_vbuffers); /* _NEW_CURRENT_ATTRIB */ /* Setup zero-stride attribs. */