st/mesa: move setting draw_needs_minmax_index into st_update_array_templ
authorMarek Olšák <marek.olsak@amd.com>
Wed, 19 Oct 2022 22:21:47 +0000 (18:21 -0400)
committerMarge Bot <emma+marge@anholt.net>
Fri, 9 Dec 2022 03:18:53 +0000 (03:18 +0000)
This removes several parameters from setup_array that become unused.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19783>

src/mesa/state_tracker/st_atom.h
src/mesa/state_tracker/st_atom_array.cpp
src/mesa/state_tracker/st_draw_feedback.c

index 010f2e5..58874bd 100644 (file)
@@ -69,8 +69,7 @@ st_setup_arrays(struct st_context *st,
                 const struct gl_vertex_program *vp,
                 const struct st_common_variant *vp_variant,
                 struct cso_velems_state *velements,
-                struct pipe_vertex_buffer *vbuffer, unsigned *num_vbuffers,
-                bool *has_user_vertex_buffers);
+                struct pipe_vertex_buffer *vbuffer, unsigned *num_vbuffers);
 
 void
 st_setup_current_user(struct st_context *st,
index 351f40e..8cf91b7 100644 (file)
@@ -79,22 +79,14 @@ setup_arrays(struct st_context *st,
              const struct gl_vertex_array_object *vao,
              const GLbitfield dual_slot_inputs,
              const GLbitfield inputs_read,
-             const GLbitfield nonzero_divisor_attribs,
              const GLbitfield enabled_attribs,
-             const GLbitfield enabled_user_attribs,
              struct cso_velems_state *velements,
-             struct pipe_vertex_buffer *vbuffer, unsigned *num_vbuffers,
-             bool *has_user_vertex_buffers)
+             struct pipe_vertex_buffer *vbuffer, unsigned *num_vbuffers)
 {
    struct gl_context *ctx = st->ctx;
 
    /* Process attribute array data. */
    GLbitfield mask = inputs_read & enabled_attribs;
-   GLbitfield userbuf_attribs = inputs_read & enabled_user_attribs;
-
-   *has_user_vertex_buffers = userbuf_attribs != 0;
-   st->draw_needs_minmax_index =
-      (userbuf_attribs & ~nonzero_divisor_attribs) != 0;
 
    if (vao->IsDynamic) {
       while (mask) {
@@ -183,16 +175,14 @@ st_setup_arrays(struct st_context *st,
                 const struct gl_vertex_program *vp,
                 const struct st_common_variant *vp_variant,
                 struct cso_velems_state *velements,
-                struct pipe_vertex_buffer *vbuffer, unsigned *num_vbuffers,
-                bool *has_user_vertex_buffers)
+                struct pipe_vertex_buffer *vbuffer, unsigned *num_vbuffers)
 {
    struct gl_context *ctx = st->ctx;
 
    setup_arrays<POPCNT_NO, UPDATE_ALL>
       (st, ctx->Array._DrawVAO, vp->Base.DualSlotInputs,
-       vp_variant->vert_attrib_mask, _mesa_draw_nonzero_divisor_bits(ctx),
-       _mesa_draw_array_bits(ctx), _mesa_draw_user_array_bits(ctx),
-       velements, vbuffer, num_vbuffers, has_user_vertex_buffers);
+       vp_variant->vert_attrib_mask, _mesa_draw_array_bits(ctx),
+       velements, vbuffer, num_vbuffers);
 }
 
 /* ALWAYS_INLINE helps the compiler realize that most of the parameters are
@@ -317,19 +307,21 @@ st_update_array_templ(struct st_context *st)
    const struct st_common_variant *vp_variant = st->vp_variant;
    const GLbitfield inputs_read = vp_variant->vert_attrib_mask;
    const GLbitfield dual_slot_inputs = vp->Base.DualSlotInputs;
+   const GLbitfield userbuf_attribs = inputs_read & _mesa_draw_user_array_bits(ctx);
+   bool uses_user_vertex_buffers = userbuf_attribs != 0;
+
+   st->draw_needs_minmax_index =
+      (userbuf_attribs & ~_mesa_draw_nonzero_divisor_bits(ctx)) != 0;
 
    struct pipe_vertex_buffer vbuffer[PIPE_MAX_ATTRIBS];
    unsigned num_vbuffers = 0;
    struct cso_velems_state velements;
-   bool uses_user_vertex_buffers;
 
    /* ST_NEW_VERTEX_ARRAYS */
    /* Setup arrays */
    setup_arrays<POPCNT, UPDATE>
-      (st, ctx->Array._DrawVAO, dual_slot_inputs,
-       inputs_read, _mesa_draw_nonzero_divisor_bits(ctx),
-       _mesa_draw_array_bits(ctx), _mesa_draw_user_array_bits(ctx),
-       &velements, vbuffer, &num_vbuffers, &uses_user_vertex_buffers);
+      (st, ctx->Array._DrawVAO, dual_slot_inputs, inputs_read,
+       _mesa_draw_array_bits(ctx), &velements, vbuffer, &num_vbuffers);
 
    /* _NEW_CURRENT_ATTRIB */
    /* Setup zero-stride attribs. */
@@ -407,13 +399,11 @@ st_create_gallium_vertex_state(struct gl_context *ctx,
    struct pipe_vertex_buffer vbuffer[PIPE_MAX_ATTRIBS];
    unsigned num_vbuffers = 0;
    struct cso_velems_state velements;
-   bool uses_user_vertex_buffers;
 
-   setup_arrays<POPCNT_NO, UPDATE_ALL>(st, vao, dual_slot_inputs, inputs_read, 0,
-                                inputs_read, 0, &velements, vbuffer, &num_vbuffers,
-                                &uses_user_vertex_buffers);
+   setup_arrays<POPCNT_NO, UPDATE_ALL>(st, vao, dual_slot_inputs, inputs_read,
+                                inputs_read, &velements, vbuffer, &num_vbuffers);
 
-   if (num_vbuffers != 1 || uses_user_vertex_buffers) {
+   if (num_vbuffers != 1) {
       assert(!"this should never happen with display lists");
       return NULL;
    }
index af0202e..070af57 100644 (file)
@@ -148,9 +148,7 @@ st_feedback_draw_vbo(struct gl_context *ctx,
 
    /* Must setup these after state validation! */
    /* Setup arrays */
-   bool uses_user_vertex_buffers;
-   st_setup_arrays(st, vp, vp_variant, &velements, vbuffers, &num_vbuffers,
-                   &uses_user_vertex_buffers);
+   st_setup_arrays(st, vp, vp_variant, &velements, vbuffers, &num_vbuffers);
    /* Setup current values as userspace arrays */
    st_setup_current_user(st, vp, vp_variant, &velements, vbuffers, &num_vbuffers);