gallium/u_vbuf: change u_vbuf_draw_vbo to accept pipe_context as first param
authorMarek Olšák <marek.olsak@amd.com>
Sun, 27 Nov 2022 15:44:29 +0000 (10:44 -0500)
committerMarge Bot <emma+marge@anholt.net>
Sun, 11 Dec 2022 14:37:27 +0000 (14:37 +0000)
This makes the parameters equal to pipe_context::draw_vbo.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20025>

src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/util/u_vbuf.c
src/gallium/auxiliary/util/u_vbuf.h

index dbad1b2..94a357c 100644 (file)
@@ -1746,8 +1746,6 @@ cso_draw_vbo(struct cso_context *cso,
              const struct pipe_draw_indirect_info *indirect,
              const struct pipe_draw_start_count_bias draw)
 {
-   struct u_vbuf *vbuf = cso->vbuf_current;
-
    /* We can't have both indirect drawing and SO-vertex-count drawing */
    assert(!indirect ||
           indirect->buffer == NULL ||
@@ -1758,10 +1756,11 @@ cso_draw_vbo(struct cso_context *cso,
           !indirect ||
           indirect->count_from_stream_output == NULL);
 
-   if (vbuf) {
-      u_vbuf_draw_vbo(vbuf, info, drawid_offset, indirect, &draw, 1);
+   struct pipe_context *pipe = cso->pipe;
+
+   if (cso->vbuf_current) {
+      u_vbuf_draw_vbo(pipe, info, drawid_offset, indirect, &draw, 1);
    } else {
-      struct pipe_context *pipe = cso->pipe;
       pipe->draw_vbo(pipe, info, drawid_offset, indirect, &draw, 1);
    }
 }
@@ -1774,13 +1773,11 @@ cso_multi_draw(struct cso_context *cso,
                const struct pipe_draw_start_count_bias *draws,
                unsigned num_draws)
 {
-   struct u_vbuf *vbuf = cso->vbuf_current;
+   struct pipe_context *pipe = cso->pipe;
 
-   if (vbuf) {
-      u_vbuf_draw_vbo(vbuf, info, drawid_offset, NULL, draws, num_draws);
+   if (cso->vbuf_current) {
+      u_vbuf_draw_vbo(pipe, info, drawid_offset, NULL, draws, num_draws);
    } else {
-      struct pipe_context *pipe = cso->pipe;
-
       pipe->draw_vbo(pipe, info, drawid_offset, NULL, draws, num_draws);
    }
 }
index 7e89993..80f37dc 100644 (file)
@@ -1450,17 +1450,17 @@ u_vbuf_split_indexed_multidraw(struct u_vbuf *mgr, struct pipe_draw_info *info,
       draw.index_bias = indirect_data[offset + 3];
       info->start_instance = indirect_data[offset + 4];
 
-      u_vbuf_draw_vbo(mgr, info, drawid_offset, NULL, &draw, 1);
+      u_vbuf_draw_vbo(mgr->pipe, info, drawid_offset, NULL, &draw, 1);
    }
 }
 
-void u_vbuf_draw_vbo(struct u_vbuf *mgr, const struct pipe_draw_info *info,
+void u_vbuf_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
                      unsigned drawid_offset,
                      const struct pipe_draw_indirect_info *indirect,
                      const struct pipe_draw_start_count_bias *draws,
                      unsigned num_draws)
 {
-   struct pipe_context *pipe = mgr->pipe;
+   struct u_vbuf *mgr = pipe->vbuf;
    int start_vertex;
    unsigned min_index;
    unsigned num_vertices;
index 93d45ee..bb3568f 100644 (file)
@@ -85,7 +85,8 @@ void u_vbuf_set_vertex_buffers(struct u_vbuf *mgr,
                                unsigned unbind_num_trailing_slots,
                                bool take_ownership,
                                const struct pipe_vertex_buffer *bufs);
-void u_vbuf_draw_vbo(struct u_vbuf *mgr, const struct pipe_draw_info *info,
+void u_vbuf_draw_vbo(struct pipe_context *pipe,
+                     const struct pipe_draw_info *info,
                      unsigned drawid_offset,
                      const struct pipe_draw_indirect_info *indirect,
                      const struct pipe_draw_start_count_bias *draws,