summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_draw_arrays.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2020-11-01 06:38:32 -0500
committerMarge Bot <eric+marge@anholt.net>2020-11-18 01:41:24 +0000
commitabe8ef862fe5649e16ceed76f60a2a364949b7b4 (patch)
tree441460615837c8b68c9145c436cecfd0644f5f73 /src/gallium/drivers/llvmpipe/lp_draw_arrays.c
parent1a717dca04657e1f5a621afbe1ae391e3da067d5 (diff)
gallium: make pipe_draw_indirect_info * a draw_vbo parameter
This removes 8 bytes from pipe_draw_info (think u_threaded_context) and a lot of info->indirect pointer indirections. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7441>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_draw_arrays.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_draw_arrays.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c
index 4ee88c888e8..c5e5ab0b671 100644
--- a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c
+++ b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c
@@ -51,7 +51,8 @@
* the drawing to the 'draw' module.
*/
static void
-llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
+llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
+ const struct pipe_draw_indirect_info *indirect)
{
struct llvmpipe_context *lp = llvmpipe_context(pipe);
struct draw_context *draw = lp->draw;
@@ -61,8 +62,8 @@ llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
if (!llvmpipe_check_render_cond(lp))
return;
- if (info->indirect && info->indirect->buffer) {
- util_draw_indirect(pipe, info);
+ if (indirect && indirect->buffer) {
+ util_draw_indirect(pipe, info, indirect);
return;
}
@@ -139,7 +140,7 @@ llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
!lp->queries_disabled);
/* draw! */
- draw_vbo(draw, info);
+ draw_vbo(draw, info, indirect);
/*
* unmap vertex/index buffers