[Mesa-dev] [PATCH v5] mesa: Remove gallium draw_arrays() and draw_arrays_instanced() functions
Arnas Milaševičius
giant1gf at gmail.com
Fri Jun 7 08:28:25 PDT 2013
Someone, please, check this patch.
On Fri, Jun 7, 2013 at 1:21 AM, Arnas Milasevicius <giant1gf at gmail.com> wrote:
>
> Moved draw_arrays() to st_draw_feedback.c and removed draw_arrays_instanced()
> ---
> v5: combined patches together
> src/gallium/auxiliary/draw/draw_context.h | 11 ---------
> src/gallium/auxiliary/draw/draw_pt.c | 40 -------------------------------
> src/mesa/state_tracker/st_draw_feedback.c | 24 +++++++++++++++++++
> 3 files changed, 24 insertions(+), 51 deletions(-)
>
> diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h
> index 2d843b7..4a1b27e 100644
> --- a/src/gallium/auxiliary/draw/draw_context.h
> +++ b/src/gallium/auxiliary/draw/draw_context.h
> @@ -241,17 +241,6 @@ draw_set_mapped_so_targets(struct draw_context *draw,
> void draw_vbo(struct draw_context *draw,
> const struct pipe_draw_info *info);
>
> -void draw_arrays(struct draw_context *draw, unsigned prim,
> - unsigned start, unsigned count);
> -
> -void
> -draw_arrays_instanced(struct draw_context *draw,
> - unsigned mode,
> - unsigned start,
> - unsigned count,
> - unsigned startInstance,
> - unsigned instanceCount);
> -
>
> /*******************************************************************************
> * Driver backend interface
> diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c
> index ce36ed0..131bd13 100644
> --- a/src/gallium/auxiliary/draw/draw_pt.c
> +++ b/src/gallium/auxiliary/draw/draw_pt.c
> @@ -413,46 +413,6 @@ draw_pt_arrays_restart(struct draw_context *draw,
> }
>
>
> -
> -/**
> - * Non-instanced drawing.
> - * \sa draw_arrays_instanced
> - */
> -void
> -draw_arrays(struct draw_context *draw, unsigned prim,
> - unsigned start, unsigned count)
> -{
> - draw_arrays_instanced(draw, prim, start, count, 0, 1);
> -}
> -
> -
> -/**
> - * Instanced drawing.
> - * \sa draw_vbo
> - */
> -void
> -draw_arrays_instanced(struct draw_context *draw,
> - unsigned mode,
> - unsigned start,
> - unsigned count,
> - unsigned startInstance,
> - unsigned instanceCount)
> -{
> - struct pipe_draw_info info;
> -
> - util_draw_init_info(&info);
> -
> - info.mode = mode;
> - info.start = start;
> - info.count = count;
> - info.start_instance = startInstance;
> - info.instance_count = instanceCount;
> - info.min_index = start;
> - info.max_index = start + count - 1;
> -
> - draw_vbo(draw, &info);
> -}
> -
> /**
> * Resolve true values within pipe_draw_info.
> * If we're rendering from transform feedback/stream output
> diff --git a/src/mesa/state_tracker/st_draw_feedback.c b/src/mesa/state_tracker/st_draw_feedback.c
> index b19d913..bfd7403 100644
> --- a/src/mesa/state_tracker/st_draw_feedback.c
> +++ b/src/mesa/state_tracker/st_draw_feedback.c
> @@ -40,6 +40,7 @@
> #include "pipe/p_context.h"
> #include "pipe/p_defines.h"
> #include "util/u_inlines.h"
> +#include "util/u_draw.h"
>
> #include "draw/draw_private.h"
> #include "draw/draw_context.h"
> @@ -81,6 +82,29 @@ set_feedback_vertex_format(struct gl_context *ctx)
>
>
> /**
> + * Instanced drawing.
> + * \sa draw_vbo
> + */
> +static void
> +draw_arrays(struct draw_context *draw,
> + unsigned mode,
> + unsigned start,
> + unsigned count)
> +{
> + struct pipe_draw_info info;
> +
> + util_draw_init_info(&info);
> +
> + info.mode = mode;
> + info.start = start;
> + info.count = count;
> + info.min_index = start;
> + info.max_index = start + count - 1;
> +
> + draw_vbo(draw, &info);
> +}
> +
> +/**
> * Called by VBO to draw arrays when in selection or feedback mode and
> * to implement glRasterPos.
> * This is very much like the normal draw_vbo() function above.
> --
> 1.8.3
>
More information about the mesa-dev
mailing list